php怎么连接access数据库

php怎么连接access数据库,第1张

(1)创建系统数据源,用PHP提供的ODBC函数

(2)使用PHP的ODBC函数,但不创建数据源。

PHP使用ODBC连接Access 数据库的方法。用$connstr="DRIVER= Microsoft Access Driver (*.mdb)来设置数据驱动,函数realpath()用来取得数据库的相对路径。利用该方法连接Access数据库主要应用到PHP的 odbc_connect()函数,该函数声明如下:

以下为引用的内容:

resourse odbc_connect( string dsn, string user, string password [, int cursor_type])

dsn:系统dsn名称

user:数据库服务器某用户名。

password:数据库服务器某用户密码。

cursor_type:游标类型。

代码如下:

以下为引用的内容:

$connstr="DRIVER=Microsoft Access Driver (*.mdb)

DBQ=".realpath("bookinfo.mdb")

$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC )

(3)使用微软的ADODB数据库驱动。

定义类COM来使用ADO方法 *** 纵Access数据库的。

该类详细说明如下:

以下为引用的内容:

string com::com( string module_name [, string server_name [, int codepage]])

module_name:被请求组件的名字或class-id。

server_name:DCOM服务器的名字。

Codepage:指定用于将PHP字符串转换成UNICODE字符串的代码页,反之亦然。该参数的取值有CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP、CP_UTF7和CP_UTF8。

PHP利用com类并使用ADO方法访问数据库的代码如下:

以下为引用的内容:

$conn = new com("ADODB.Connection")

$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}DBQ=" . realpath("bookinfo.mdb ")

$conn->Open($connstr)

出现以下错误: 8007007e 检索 COM 类工厂中 CLSID 为 {592232C7-C762-48E1-A38A-C1B653186A6D} 的组件时失败,原因是出现以下错误: 8007007e。System.IO.FileNotFoundException: 检索 COM 类工厂中 CLSID 为 {592232C7-C762-48E1-A38A-C1B653186A6D} 的组件时失败,原因是出现以下错误: 8007007e。 在 WebApplication1.WebForm1.Button1_Click(Object sender, EventArgs e)App_Web_7d0pmnoiabc

把 vs2003卸载了,换成 vs2005,asp.net就不能正常了。一个注册的 com找不到,这个com也是自己写的,也是用 vs2003编译的,文件明明摆在哪里,注册表里面的com注册信息也正确,他就说找不到。晕了。。。后来用 dependecy 看了一个自己写的这个 com组件的dll文件。。靠 MFC71d.dll和 Msvcr71.dll找不到。。原来是用 vs2003动态连接到mfc编译的。。。把vs2003卸载了。。。vs2003的mfc库也没了。。所以com组件找不到dll文件就报错了。。。可是这个错误就不能在明确点??找到这两个文件copy到 com的dll的目录。OK!搞定。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6706023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存