SQL2000如何为异类查询连接设置ANSI_NULLS和ANSI_WARNINGS选项
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL2000如何为异类查询连接设置ANSI_NULLS和ANSI_WARNINGS选项
HH5035编制于2013-7-11
利用SQL2000导入excel数据表,在编制存储文件时,无法保存,出现“错误7405:异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项……”
从网上收集的设置方法,经过多次测试,总算实现了SQL2000从EXCEL导入数据的存储文件的保存,先将解决过程的设置步骤分享如下:
1、默认值设置
安装sql2000时,ANSI_NULLS和ANSI_WARNINGS默认值均为OFF,如修改为ON,操作如下:
鼠标右键点击我的电脑→管理→服务和应用程序→microsoft SQL servers→打开对应组→
鼠标右键点击(对应组)→属性→连接→默认选项选上“ANSI warring”和“ANSI nulls”→确定→鼠标右键点击(对应组)→停止→重新“启动”
(注意:在用的网络服务器慎用停止和启动,以免影响日常工作)
2、如何改变存储文件中的“ANSI_NULLS”、“ANSI_WARNINGS”默认值
虽然经过了第一步设置了,但新建的存储文件中仍然是
SET ANSI_NULLS OFF
SET ANSI_NULLS OFF
SET ANSI_WARNINGS OFF
上述这些设置,在打开的存储文件中是看不到的,
且在 CREATE 之后设置on是不起作用的,如下图程序,在报产是
为此在 CREATE 语句之前加入如下语句,即可将ANSI_NULLS和ANSI_WARNINGS默认值改为ON,即可保存:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
SET ANSI_WARNINGS ON
GO
如下图:
3、源代码如下:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
SET ANSI_WARNINGS ON
GO
----以上语句在CREATE语句之前加上去,存储文件保存之后,就隐藏了,默认值也改了。
CREATE PROCEDURE [H2] AS
SET QUOTED_IDENTIFIER ON -- 在CREATE语句之后不会改变默认值
SET ANSI_NULLS ON -- 在CREATE语句之后不会改变默认值
SET ANSI_WARNINGS ON -- 在CREATE语句之后不会改变默认值
declare @lsh int
select @LSH=max(DJLSH) FROM TSDATA.dbo.YJ_8XSDDH
insert into YJ_8XSDDH(djlsh, pc, swh, khh, khmc)
select 流水号+@lsh,批次, 事务号, 销往, 销往客户
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\0_DDDR.xls";User
ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]
----注意Sheet1 之后要加“$”
GO。