OpenRowSet不能用变量的嘛!!怎么办??激!!

zxbyhcsdn 2004-12-07 03:31:24
有一个系统,要每一天将VF数据库导入到Sqlserver,数据库名称就是当天的日期,
用OPENROWSET的话不能将表名弄成变量的嘛??!!怎么办啦??


select * into #F
FROM OPENROWSET('MSDASQL',
'CollatingSequence=ASCII;DBQ=C:\CARMIS\DATA\Sendto\;DefaultDir=C:\CARMIS\DATA\Sendto\;Deleted=0;Driver={Driver do Microsoft dBase (*.dbf)};FIL=dBase 5.0',
'select * from 20041128')

这儿的'select * from 20041128',不能写成变量的嘛???
...全文
177 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxbyhcsdn 2004-12-16
  • 打赏
  • 举报
回复
写成一个字符串
然后用exec执行是最后的办法了!!能不能又其他的方法拉??

zjcxc 2004-12-07
  • 打赏
  • 举报
回复
--示例

declare @s varchar(8000)
set @s='select * from ['+convert(char(8),getdate(),112)+']'
print('
select * into ##F
FROM OPENROWSET(''MSDASQL'',
''CollatingSequence=ASCII;DBQ=C:\CARMIS\DATA\Sendto\;DefaultDir=C:\CARMIS\DATA\Sendto\;Deleted=0;Driver={Driver do Microsoft dBase (*.dbf)};FIL=dBase 5.0'',
'''+@s+''')')
select * from ##F
netcoder 2004-12-07
  • 打赏
  • 举报
回复
楼上说的对
比如

strSQL='select * into #F FROM OPENROWSET……'
然后
exec(strsql)
TigerSuper 2004-12-07
  • 打赏
  • 举报
回复
把select * into #F
FROM OPENROWSET('MSDASQL',
'CollatingSequence=ASCII;DBQ=C:\CARMIS\DATA\Sendto\;DefaultDir=C:\CARMIS\DATA\Sendto\;Deleted=0;Driver={Driver do Microsoft dBase (*.dbf)};FIL=dBase 5.0',
'select * from 20041128')
定义成一个字符串
然后用exec执行
chd2001 2004-12-07
  • 打赏
  • 举报
回复

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧