SQLSTATE[IM002]SQLDriverConnect:0解决思路
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQLSTATE[IM002]SQLDriverConnect:0解决思路,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1284字,纯文字阅读大概需要2分钟。
内容图文
![SQLSTATE[IM002]SQLDriverConnect:0解决思路](/upload/InfoBanner/zyjiaocheng/231/2e35561723934a9ea7762f3ec20f6695.jpg)
conn.php
try {
$conn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=".realpath("../data/data.mdb"));
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
运行后报错提示
Connection failed: SQLSTATE[IM002] SQLDriverConnect: 0 [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
百度谷歌搜了老半天也不知道哪里设置有问题,php_pdo_odbc.dll有启用,phpinfo()也显示支持pdo/odbc等,mdb文件路径也是正确的
系统是win7sp1 x64
PHP是 5.5.7 VC11 x64 Thread Safe
Apache 是httpd-2.4.7-win64-VC11
Office 是 Office2010 x64
用PDO连接mysql数据库是正常,但连接mdb就出错,是不是我哪里设置错了,或者还需要在哪里安装或设置什么驱动
------解决方案--------------------
貌似是不支持Access的数据库,新的ACCDB格式,你可以用ACE来连接试一试呢
http://www.microsoft.com/en-us/download/details.aspx?id=13255
------解决方案--------------------
代码没有问题,请检查 com 扩展是否加载
extension=php_com_dotnet.dll
从 php5.4 开始,php for windows 不再默认加载 com 扩展了,需自己配置
你是用的是 odbc 连接串,而非 odbc 数据源
所以 PDO 需要通过 com 才能构造出数据源
------解决方案--------------------
echo realpath("../data/data.mdb");
看看是什么
你的连接串对于 Access2003 肯定是没有问题的
但对于 Access2010 是否可行,因为没有无法测试
加个 Uid=Admin 试试
内容总结
以上是互联网集市为您收集整理的SQLSTATE[IM002]SQLDriverConnect:0解决思路全部内容,希望文章能够帮你解决SQLSTATE[IM002]SQLDriverConnect:0解决思路所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。