作者dennylo (第一轮第一顺位)
看板PHP
标题有关使用ODBC连结ACCESS资料库的问题
时间Tue Apr 18 10:45:34 2006
我使用的是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