2005导出的脚本为什么在2000运行总是出错? 20babynew]

发布时间:2016-12-11 0:56:14 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"2005导出的脚本为什么在2000运行总是出错? 20babynew]",主要涉及到2005导出的脚本为什么在2000运行总是出错? 20babynew]方面的内容,对于2005导出的脚本为什么在2000运行总是出错? 20babynew]感兴趣的同学可以参考一下。

我在自己机子里装的是2005,在朋友机子里的是2000 个人版,我在2005里把一个数据库的表结构用generate script功能导出为setup.sql,在导出设置里明明把script version 设置为 sql 2000,但在朋友机子导入时无论如何都提示语法错误...请问能这样导吗?该怎么设置下,谢谢了

导出的方式没错, 贴出出错的脚本, 测试一下. 看看是否版本的问题.

我在CSDN里搜索过 你以前在一个帖子里说过在导出设置里把版本设置为SQL 2000就行了的 请你帮我看看,谢谢 这是其中部分脚本 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[companykeywords]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[companykeywords]( [comkeywordid] [smallint] IDENTITY(1,1) NOT NULL, [comkeywordname] [varchar](50) NOT NULL,  CONSTRAINT [PK__companykeywords__6A30C649] PRIMARY KEY CLUSTERED  ( [comkeywordid] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END 出错: 服务器: 消息 170,级别 15,状态 1,行 9 第 9 行: '(' 附近有语法错误。 服务器: 消息 170,级别 15,状态 1,行 9 第 9 行: '(' 附近有语法错误。 脚本十分十分长,我不想一行一行改,所以问下如何在2005设置下,直接就导出语法正确的脚本.

你贴的这个sql没问题,我在sql2005能跑通。 可以换一种方法:在sql2000下执行脚本,然后备份出来。在sql2005中恢复。

楼上的可能没看清楚我的问题 这个脚本是2005导出来的,在2000执行不了

确定为BUG, 如果你只选择了部分对象生成脚本, 而不是整个库生成脚本的方式, 则生成的脚本是不会兼容2000的. IF NOT EXISTS (SELECT * FROM sys.objects  --- 这里就已经不对, 2000 的系统表是 dbo.sysobjects

我是选择了整个库生成啊 比如说我新建了A数据库,我直接在A上点右键选择generate script,这样应该是把整个A数据库生成了脚本吧? 我贴出来的只是一小段,其他也类似这样。

问题已经解决了。 这个可能真的是个BUG,大家都可以试下:     在generate script向导下,在select database下有个选项script all object.....,如果此时勾选了,在下面出现的设置窗口里选择script version为sql server 2000,则生成的脚本在2000里运行完全正常。但如果不选这个,而是在后面选择table时勾选select all,然后在script version再选择sql server 2000,则生成的还是2005的脚本......这两种方式生成的脚本应该是一样的吧。 我一直用第二种方法来生成,难怪在2000一直运行不了。 谢谢zjcxc(邹建) 耐心的解答!!

但是SQL SERVER 2005中好象没有SQL SERVER 2000中的 drop 后,再create语句,生成向导中只有两个选择项,可么只有DROP,要么只有CREATE,那如果我要修改已存在的视图或存储过程,用SQL SERVER 2005的的脚本导出功能好象实现不了。

上一篇:触发器调用存储过程 20CSDN]
下一篇:十万火急!关于权限问题! 20CSDN]

相关文章

相关评论