Collating Sequence Not supported by operating system
I am moving from SQL 2000 to SQL 2008. The SQL 2000 is on a Server 2003. SQL 2008 is on a Server 2008. I have imported my database successfully. I am able to perform queries and they work fine. I use a VB6 program running in the IDE to update the database.
When my VB6 program runs on a server 2003 the program will connect using the followin开发者_运维技巧g connection string:
Provider=SQLOLEDB;DATABASE=mydbname;SERVER=my ip;DRIVER={SQL SERVER};UID=myuser;PWD=mypw;
Using the above connection string, I can connect with no errors to either SQL 2000 or the new SQL 2008 database. On the Server 2008, there is no SQLOLEDB driver show, so I have to use the new SQLNCLI10 provider
CCTdbConnectionString = "Provider=SQLNCLI10;Server=myServer\My InstanceName;Database=MyDB;UID=myuser;PWD=mypw;
Here's the problem. When I am running on the Server 2008 I get the error 3228 Selected collating sequence not supported by the operating system. If I hit debug and try again, or stop the program and try again it gets past that error until I reopen the IDE. Then I get a 2nd error encountered is an error 3027 Can Not Update. Database or object is read-only! This never goes away and I'm dead.
After Much research, I have found the answer. SQL 2005 and up apparently require a Unique Key Index exist on every single table that is accessed using ODBC or OLEDB. This Cures the problem.
Compile the code: don't use the IDE?
Related KS KB article 246167
精彩评论