有關使用ODBC連結ACCESS資料庫的問題
我使用的是IIS Server PHP 5.1.2 連結office 2000的access資料庫
大致上是依照林邦傑老師的「如何設計PHP程式」第二版進行
在書裡面的第十章教的是如何用ODBC建立資料來源後在ACCESS建立資料庫
程式如下:
1 <HTML> <!-- *************** phonetab.php ************** -->
2 <HEAD>
3 <TITLE>在sqldb.mdb資料庫建立新資料表phonetab</TITLE>
4 </HEAD>
5 <BODY>
6 <?php
7 echo "<PRE>在sqldb.mdb資料庫建立一個新資料表 phonetab<BR>";
8 $conn=odbc_connect("phpsqldb","sa","1234");
9 $query = "
10 CREATE TABLE phonetab
11 (
12 name CHAR(10) PRIMARY KEY,
13 sex CHAR(2),
14 height INTEGER,
15 phone CHAR(12)
16 );" ;
17 $result = odbc_exec($conn, $query);
18 echo "完成";
19 ?>
20 </BODY>
21 </HTML>
---------------------------------------------------------------------------
錯誤訊息為
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft]
[ODBC 驅動程式管理員] 找不到資料來源名稱且未指定預設的驅動程式, SQL state IM002
in SQLConnect in D:\howphp\phonetab.php on line 8
---------------------------------------------------------------------------
ODBC的設定在這本書裡面寫的是要設定在「使用者資料來源名稱」
而在另一本知城的「PHP5網路資料庫程式大全」中說要設定在「系統資料來源名稱」
兩個方法我都試過,一樣的錯誤訊息
另外根據下面這個網頁
http://kmserv.com/windows/odbc/howto_odbc.htm
他在設定的時候有加帳號跟密碼,我設定後還是一樣
我在http://tw.php.net/odbc_connect
有找到類似的問題,不過看不懂裡面說的解決方法
「The ODBC-link must be a System-DNS and not a User-DNS. Configure your
ODBC-link and then modify your configuration with regedt32. Go to
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC_INI and open your ODBC-link.
The field DBQ contains the path to your database.
This path must be without Drive-names (e. g. "M:") so change it to
"\\Server\folder\database.mdb".
This setting is changed each time you modify your ODBC-configuration using
the Windows-tool, so make sure you do this afterwards.」
裡面說的HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC_INI我有找到
不過The field DBQ我就沒有這個參數可以設定,所以我也不知道要改什麼或是怎麼改
同一個網站也有人說跟
「
$cn = odbc_connect("Driver={SQL Server};Server=MyServer;Database=MyDatabase",
"MyUser","MyPassword")
Change "MyServer", "MyDatabase", "MyUser" and "MyPassword" to the right values.
」
語法有關,不過我改了一樣不行.......
希望有人可以解惑,大感謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.131.1.29
PHP 近期熱門文章
PTT數位生活區 即時熱門文章