求救: SQL中使用OpenDataSource( )的问题?
SQL中使用OpenDataSource( )的问题?求救!!!
OpenDataSource( ' ', ' ' )的两个参数是字符串,我现在想用两个变量替换 这两个字符串为什么不行啊?例如:
DECLARE @Command varchar(128)
DECLARE @DataSource varchar(512)
OpenDataSource( @Command, @DataSource )
返回的错误是:
服务器: 消息 170,级别 15,状态 1,行 15
第 15 行: '@Command ' 附近有语法错误。
这是怎么回事?如何解决?
------解决方案--------------------CREATE TABLE tb_youxiaouser
(
WEIJIBIANMA VARCHAR(70),
NASHUIRENJC VARCHAR(50),
DIANHUA varchar(50),
YOUXIAORIQI datetime,
CHUANJIANREN varchar(50),
NASHUIRENJC_py varchar(50)
)
declare @s varchar(8000)
set @s = ' ' 'Microsoft.Jet.OLEDB.4.0 ' ',
' 'Data Source= "e:\TEST.xls ";User ID=Admin;Password=;Extended properties=Excel 5.0 ' ' '
set @s = 'insert into TEST.dbo.tb_youxiaouser SELECT * FROM OpenDataSource ( '+@s+ ')...sheet1$ '
SELECT @s
exec(@s)
------解决方案--------------------set @s = 'insert into TEST.dbo.tb_youxiaouser SELECT * FROM OpenDataSource ( '+@s+ ')...sheet1$ '
SELECT @s
exec(@s)
------解决方案--------------------拼接好以后用exec执行