承接基于.Net的系统研发,精通物流系统,特别是仓储物流管理,有意者请联系。

sqlservier2005转成sqlserver2000中出现的问题(WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY])

      公司的系统需要从sql2005转移到sql2000上,只需要表结构,主要的做法就是通过sqlserver提供的"任务\生成脚本"的向导将表结构导成脚本文件。问题是sql2005提供的导出工具虽然也兼容sqlserver 2000,但是脚本文件中包含了sqlserver 2000不支持的语句,如“WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]”,在sqlserver2000的查询分析器中执行会报出错误。原本想了两种方法解决这个问题,第一个就是一个一个替换成sqlserver2000支持的语句,但是因为表的数量太大,就放弃了;第二种方法就是自己写一个工具,从sql2005中读出表结构,生成sql2000语法的脚本,这样也能解决这个问题,但是因为时间很紧张,没有时间去研究sql20005与sql2000的数据类型的差异。最后在经过几个小时的搜索之后,终于找到微软的网站上找到DatabasePublishingWizard工具,下载网址是http://www.microsoft.com/downloads/details.aspx?familyid=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en,Microsoft SQL Server Database Publishing Wizard 1.1工具和sql2005的向导工具很类型,不过没有sql2005向导工具的可选项多,不过还是可以的,至少生成的表的创建脚本在sql2000中执行没有问题。希望能够对以后出现同样问题的朋友有所帮助,减少他们的解决问题的时间。
posted @ 2009-04-07 09:00  阿修罗一平  阅读(5307)  评论(3编辑  收藏  举报