首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有SQL Express2008的MDB2

带有SQL Express2008的MDB2
EN

Stack Overflow用户
提问于 2010-04-02 02:49:20
回答 1查看 699关注 0票数 0

所以基本上这就是我的问题。我正在寻找一种解决方案,使我们能够连接到SQL Express2008,同时仍然使用MDB2作为我们的数据库抽象层。我需要这样的东西,主要是因为我们仍然需要能够使用MySQL和Postgres (而ORM目前似乎不是一个选项)。

优选地,将有一种同时适用于PHP5.2和PHP5.3的解决方案。

一开始,我沿着php_mysql扩展路走...但是,似乎这在PHP5.3中是不可用的。

php_pdo_mssql似乎不能与MDB2一起使用,所以这似乎已经过时了。

最后,还有微软开发的'SQLSRV‘扩展,虽然看起来似乎有一个MDB2’扩展‘的工作,但它似乎从来没有进入过主分支。

请..。有没有人能给我什么解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-06 19:53:35

对任何其他想要这方面信息的人来说...到目前为止,我已经让SQL Express2008在PHP5.2下与MDB2一起工作。

我还没有尝试连接到远程服务器:到目前为止,我只连接到在本地主机上运行的SQL Express。

我不确定我正在使用的PHP是否附带了php_mssql.dll扩展:不管是哪种情况,我都禁用了它。取而代之的是,我使用了从http://docs.moodle.org/en/Installing_MSSQL_for_PHP上的链接下载的php_dblib.dll。这个库是(来自freetds.org的) FreeTDS的构建。我还没有用它做任何主要的测试,但我可以连接到它,我的一个同事告诉我,他们用它取得了“实际”的成功。

php_dblib.dll为php_mssql.dll提供的mssql_*函数提供了“替换”函数。因此,您需要在启用php_mssql.dll扩展之前禁用php_dblib.dll扩展。

其他需要注意的小事情:

1)虽然大多数关于SQL Express和PHP的文档都指出必须在数据库连接信息的主机部分包含'instance‘名称,但我发现这对我不起作用:实际上,我必须显式地删除"\SQLEXPRESS“。

2)虽然上面的Moodle链接提供了PHP5.3版本的php_dblib.dll,但不幸的是它们是用VC9构建的。我安装的PHP5.3是用VC6构建的,所以我仍然在为PHP5.3构建自己的php_dblib.dll。

无论如何,我希望这能帮助那些有同样问题的人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2562821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档