3

我工作的公司有一个使用 SQL Server 2000 后端的旧 Access 2000 应用程序。我们的任务是将后端移动到新服务器上的 SQL Server 2005 数据库。不幸的是,在尝试进行任何插入或更新时,应用程序无法正常运行。我的研究发现许多论坛帖子 Microsoft 不支持 Access 2000 -> SQL 2005,但我找不到任何 Microsoft 文档来验证这一点。

任何人都可以将我链接到一些官方文档,或者有没有人使用过这个设置并且可以确认这应该工作并且我们的问题出在其他地方?

不确定是否重要,但该应用程序是编译成 ADE 的 ADP。

4

7 回答 7

2

在使用 ODBC 链接表连接到 Sql Server 之前,我遇到过类似的问题。解决方案是重新链接表并指定表的主键。如果 Access 不知道主键,则无法执行插入或更新。

我对 ADP 没有任何经验,但它可能是类似的事情,这里有一篇关于它的知识库文章http://support.microsoft.com/?scid=kb%3Ben-us%3B235267&x=15&y=13

于 2008-08-19T12:24:55.690 回答
0

我会说检查宏中的 VBA 以了解它是如何做到的。它可能使用某种形式的 VB 连接到后面的数据库。我喜欢数据库正在联系数据库以获取其数据的事实...... :)

于 2008-08-18T19:09:07.827 回答
0

我所读到的有关 Access 2000 -> SQL Server 2005 的所有信息都是不支持升迁向导。

如果只有插入和更新不起作用,这听起来像是权限问题。确保您在连接字符串中使用的 sql server 登录名对您的数据库具有读/写权限。

请避免为此目的使用“sa”帐户!

于 2008-08-18T19:14:53.930 回答
0

我不确定是否支持该特定组合,但您是否尝试将数据库的兼容模式设置为 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/

于 2008-08-18T19:16:29.230 回答
0

如果只有插入和更新不起作用,这听起来像是权限问题。确保您在连接字符串中使用的 sql server 登录名对您的数据库具有读/写权限。

请避免为此目的使用“sa”帐户!

我们想使用通用应用程序帐户,但登录“找不到”任何存储过程,即使它们存在并且登录具有运行它们的显式权限(并且作为该用户,在 SQL Management Studio 中也已成功测试) . 直到我们授予登录“sa”权限,我们才能真正通过应用程序访问数据库。

但是您是否尝试将数据库的兼容模式设置为 sql server 2000。

我不太确定这是怎么做到的。你能解释一下吗?

另外值得注意的是,如果我们将应用程序升级到 Access 2003,一切正常。不幸的是,我们的 IT 部门不想让每个人都从 Office 2000 升级到 2003,所以这不是一个选择。

谢谢你的帮助。

于 2008-08-18T19:34:06.090 回答
0

但是您是否尝试将数据库的兼容模式设置为 sql server 2000。

我刚刚检查了2005数据库,我选择了数据库,然后单击属性->选项,它说数据库已经处于2000兼容模式。

于 2008-08-19T12:12:28.727 回答
0

Access ADP 与 SQL Server 版本密切相关,在已发布的 3 个主要版本(2000、2002 和 2003)中,MS 在修复和破坏 ADP 方面做得非常糟糕。

如果您尝试使用已编译的 ADE,我建议您首先找到原始 ADP 并查看是否可以使其工作。在创建 ADE 之前,您可能需要在那里做一些工作。

警告:我不做 ADP,很高兴我决定不做,因为微软现在弃用它们,转而支持 MDB=>ODBC=>SQL Server。

于 2008-09-15T22:58:22.837 回答