日期:2014-05-19  浏览次数:20651 次

求救: 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执行