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