(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!搞定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)