[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
Source: Microsoft OLE DB Provider for ODBC Drivers
Description: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
conn代码:
function conn(){ try { $this->conn = new com("ADODB.Connection"); $this->conn->Open("DRIVER={Microsoft Access Driver (*.mdb,*.accdb)}; DBQ=" . realpath("include/Database.mdb")); //$this->conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this->dbPath).";Uid=;Pwd=".$this->dbPWD.";"); $this->showMessage = $this->siteCode; } catch(Exception $e){ $this->showMessage = mb_convert_encoding($e->getMessage(), "UTF-8", "GBK"). '
' . $this->siteCode; } }
输出路径:
echo realpath("include/Database.mdb");
结果:
D:\PHP_Site\HouyuanMDB\include\Database.mdb
系统环境
win7 x64,php 5.5,apache2.4.9;
我只是想php连接个ACCESS数据库,路径绝对无错,下载别人的ACCESS例子也是一样,估计不是代码错,PHP也配置了,自行百度谷歌无果后唯有求助;
回复讨论(解决方案)
这到底是什么原因造成的???
1、odbc 数据源应该是 系统数据源
你并没有用到,不知为何展示
2、改 "DRIVER={Microsoft Access Driver (*.mdb,*.accdb)}; DBQ="
为 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
一试
3、mdb 文件所在目录需要有一般用户完全控制权
1、odbc 数据源应该是 系统数据源
你并没有用到,不知为何展示
2、改 "DRIVER={Microsoft Access Driver (*.mdb,*.accdb)}; DBQ="
为 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
一试
3、mdb 文件所在目录需要有一般用户完全控制权
修改后出现:
Source: ADODB.Connection
Description: 未找到提供程序。该程序可能未正确安装。
mdb 文件所在目录(整个WEB文件夹)已经设置Everyone 读写
还要有“执行”权限
还要有“执行”权限
已是“完全控制权限”,我是怀疑PHP配置的问题,但又找不到那个问题
你的 access 的版本是多少?
在 ODBC 管理器中创建一个文件型的数据源,看看你面的连接串是否和你的相同
你的 access 的版本是多少?
在 ODBC 管理器中创建一个文件型的数据源,看看你面的连接串是否和你的相同
文件DSN内容
[ODBC]DRIVER=Microsoft Access Driver (*.mdb, *.accdb)UID=adminUserCommitSync=YesThreads=3SafeTransactions=0PageTimeout=5MaxScanRows=8MaxBufferSize=2048FIL=MS AccessDriverId=25DefaultDir=D:\PHP_Site\HouyuanMDB\includeDBQ=D:\PHP_Site\HouyuanMDB\include\Database.mdb
请问php_com_dotnet.dll 有没有分32位和64位的??
非常感谢xuzuning版主的热心帮助,问题解决了,是配置文件的问题,我从官网下载了一份配置文件,后然依照原来的配置了一样的,居然可以了,太坑爹了
上一篇: php 时间计算问题小结_php技巧
下一篇: PHP 多进程 解决难题_php技巧