我正在从SQL 2000迁移到SQL 2008. SQL 2000位于Server 2003上.SQL 2008位于Server 2008上。我已成功导入数据库。我能够执行查询,它们工作正常。我使用IDE中运行的VB6程序来更新数据库。
当我的VB6程序在服务器2003上运行时,程序将使用以下连接字符串进行连接:
Provider=SQLOLEDB;DATABASE=mydbname;SERVER=my ip;DRIVER={SQL SERVER};UID=myuser;PWD=mypw;
使用上面的连接字符串,我可以无错误地连接到SQL 2000或新的SQL 2008数据库。在Server 2008上,没有显示SQLOLEDB驱动程序,所以我必须使用新的SQLNCLI10提供程序
CCTdbConnectionString = "Provider=SQLNCLI10;Server=myServer\My InstanceName;Database=MyDB;UID=myuser;PWD=mypw;
这是问题所在。当我在Server 2008上运行时,我得到错误3228操作系统不支持选定的整理顺序。如果我点击调试并再次尝试,或者停止程序并再次尝试它会超过该错误,直到我重新打开IDE。然后我遇到第二个错误是错误3027无法更新。数据库或对象是只读的!这永远不会消失,我已经死了。
答案 0 :(得分:2)
经过多次研究,我找到了答案。 SQL 2005及更高版本显然需要在使用ODBC或OLEDB访问的每个表上存在唯一键索引。 这解决了这个问题。
答案 1 :(得分:0)
编译代码:不使用IDE?