执行该存储过程时出现如下错误,请大侠指点,谢谢!
CREATE Procedure Import (@FilePath nvarchar(500))
as
begin
SET ANSI_NULLS on
SET ANSI_WARNINGS on
declare @ImportSql nvarchar(4000)
CREATE TABLE #tmp1
( f1 nvarchar (390) NOT NULL ,
f2 [numeric](19, 3) NULL ,
f3 nvarchar(20) null )
set @Importsql=''
set @importSql='insert into #tmp1 (f1,f2,f3) SELECT * FROM OpenDataSource('''
set @importsql=@importsql + 'Microsoft.Jet.OLEDB.4.0'''
set @importsql=@importsql +','
set @importsql=@importsql +''' Data Source="'
set @importsql=@importsql + @FilePath +'" ;User ID=Admin;Password=;Extended properties=Excel 8.0'''
set @importsql=@importsql + ')... [sheet1$]'
execute (@importsql)
drop table #tmp1
end
GO
Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics. Enable these options and then reissue your query.
问题点数:20、回复次数:8Top
1 楼paradise885()回复于 2006-05-04 09:29:17 得分 0
up!Top
2 楼junjunhao()回复于 2006-05-04 10:48:41 得分 1
null的问题吧Top
3 楼flyeq008()回复于 2006-05-04 11:18:40 得分 1
SET ANSI_NULLS on
SET ANSI_WARNINGS on
提示不是有说是这两句的原因吗!!!试试set ansi_nulls offTop
4 楼paradise885()回复于 2006-05-04 13:28:51 得分 0
试过,没有用的,不知错在哪里?Top
5 楼paradise885()回复于 2006-05-04 16:07:10 得分 0
UP!Top
6 楼azsoft(Try my best)回复于 2006-05-04 16:12:13 得分 9
可以看看SET ANSI_NULLS 的帮助
CREATE Procedure Import (@FilePath nvarchar(500))
as
begin
SET ANSI_NULLS on
SET ANSI_WARNINGS on
go
declare @ImportSql nvarchar(4000)
CREATE TABLE #tmp1
( f1 nvarchar (390) NOT NULL ,
f2 [numeric](19, 3) NULL ,
f3 nvarchar(20) null )
set @Importsql=''
set @importSql='insert into #tmp1 (f1,f2,f3) SELECT * FROM OpenDataSource('''
set @importsql=@importsql + 'Microsoft.Jet.OLEDB.4.0'''
set @importsql=@importsql +','
set @importsql=@importsql +''' Data Source="'
set @importsql=@importsql + @FilePath +'" ;User ID=Admin;Password=;Extended properties=Excel 8.0'''
set @importsql=@importsql + ')... [sheet1$]'
execute (@importsql)
drop table #tmp1
go
SET ANSI_NULLS off
SET ANSI_WARNINGS off
endTop
7 楼azsoft(Try my best)回复于 2006-05-04 16:16:18 得分 8
CREATE Procedure Import (@FilePath nvarchar(500))
as
begin
SET ANSI_NULLS on
SET ANSI_WARNINGS on
declare @ImportSql nvarchar(4000)
CREATE TABLE #tmp1
( f1 nvarchar (390) NOT NULL ,
f2 [numeric](19, 3) NULL ,
f3 nvarchar(20) null )
set @Importsql=''
set @importSql='insert into #tmp1 (f1,f2,f3) SELECT * FROM OpenDataSource('''
set @importsql=@importsql + 'Microsoft.Jet.OLEDB.4.0'''
set @importsql=@importsql +','
set @importsql=@importsql +''' Data Source="'
set @importsql=@importsql + @FilePath +'" ;User ID=Admin;Password=;Extended properties=Excel 8.0'''
set @importsql=@importsql + ')... [sheet1$]'
execute (@importsql)
drop table #tmp1
SET ANSI_NULLS off --加上就没有错
SET ANSI_WARNINGS off
end
Top
8 楼san12655874(小三33)回复于 2006-05-05 00:44:03 得分 1
UPTop




