Access 2000 连接到 SQL Server 2005
Posted
技术标签:
【中文标题】Access 2000 连接到 SQL Server 2005【英文标题】:Access 2000 connecting to SQL Server 2005 【发布时间】:2008-08-18 19:00:52 【问题描述】:我工作的公司有一个使用 SQL Server 2000 后端的旧 Access 2000 应用程序。我们的任务是将后端移动到新服务器上的 SQL Server 2005 数据库。不幸的是,在尝试进行任何插入或更新时,应用程序无法正常运行。我的研究发现许多论坛帖子 Microsoft 不支持 Access 2000 -> SQL 2005,但我找不到任何 Microsoft 文档来验证这一点。
任何人都可以将我链接到一些官方文档,或者有人使用过这个设置并且可以确认这应该可以工作并且我们的问题出在其他地方吗?
不确定是否重要,但该应用是编译成 ADE 的 ADP。
【问题讨论】:
【参考方案1】:我之前在使用 ODBC 链接表连接到 Sql Server 时遇到过类似的问题。解决方案是重新链接表并指定表的主键。如果 Access 不知道主键,则无法执行插入或更新。
我对 ADP 没有任何经验,但可能是类似的事情,这里有一篇关于它的知识库文章 http://support.microsoft.com/?scid=kb%3Ben-us%3B235267&x=15&y=13
【讨论】:
【参考方案2】:我会说检查宏中的 VBA,看看它是如何做到的。它可能使用某种形式的 VB 连接到后面的数据库。我喜欢数据库正在联系数据库以获取其数据的事实...... :)
【讨论】:
【参考方案3】:我所读到的有关 Access 2000 -> SQL Server 2005 的全部内容是不支持升迁向导。
如果只有插入和更新不起作用,这听起来像是权限问题。确保您在连接字符串中使用的 sql server 登录名对您的数据库具有读/写权限。
请避免为此目的使用“sa”帐户!
【讨论】:
【参考方案4】:如果只有插入和更新不是 功能,听起来像 权限问题。确保 sql 您正在使用的服务器登录 连接字符串有读/写 对您的数据库的权限。
请避免使用“sa”帐户 为此!
我们想使用通用应用程序帐户,但登录“找不到”任何存储过程,即使它们存在并且登录具有运行它们的显式权限(并且还以该用户的身份在 SQL 中成功测试管理工作室)。直到我们授予登录“sa”权限,我们才能真正通过应用程序访问数据库。
但是您是否尝试过设置 数据库兼容模式 sql server 2000.
我不太确定这是怎么做到的。你能解释一下吗?
另外值得注意的是,如果我们将应用程序升级到 Access 2003,一切正常。不幸的是,我们的 IT 部门不想让每个人都从 Office 2000 升级到 2003,所以这不是一个选择。
感谢您的帮助。
【讨论】:
【参考方案5】:我不确定是否支持该特定组合,但您是否尝试将数据库的兼容模式设置为 sql server 2000。也许这会解决您的问题。
编辑:为此,请运行以下 SQL:
EXEC sp_dbcmptlevel Name_of_your_database, 80;
更多详情:http://blog.sqlauthority.com/2007/05/29/sql-server-2005-change-database-compatible-level-backward-compatibility/
【讨论】:
【参考方案6】:但是您是否尝试过设置 数据库兼容模式 sql server 2000.
我刚刚检查了2005数据库,我选择了数据库,然后点击属性->选项,它说数据库已经处于2000兼容模式。
【讨论】:
【参考方案7】:Access ADP 与 SQL Server 版本密切相关,MS 在修复和破坏已发布的 3 个主要版本(2000、2002 和 2003)中的 ADP 方面做得非常糟糕。
如果您尝试使用编译后的 ADE,我建议您首先找到原始 ADP,看看是否可以使用它。在创建 ADE 之前,您可能需要在那里做一些工作。
警告:我不做 ADP,很高兴我决定不做,因为微软现在弃用它们,转而支持 MDB=>ODBC=>SQL Server。
【讨论】:
以上是关于Access 2000 连接到 SQL Server 2005的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 PHP7 连接到 SQL Server 2000?
使用 MS Access 2003 连接到 SQL Server 2005
使用虚拟机连接到 SQL Server 2000 时出现问题