十万火急,SQLServer 对接“Oracle”数据库,急急急。。。
declare @LastTime char(10)
set @LastTime = CONVERT(varchar(100),(select top 1 DATime from DataETL where MeterType='WM' order by DATime desc),23)
set @oraclesql='select f_meter_code, f_meterday_date, f_meterday_used from t_rp_meter_dayenergytemp where f_meterday_date > '''+@LastTime+''''
declare ImpCursor cursor for select f_meter_code, f_meterday_date, f_meterday_used
from openrowset('msdaora','.';'scott';'123456',''''+@oraclesql+'''')
问题一:这样“拼接字符串”做为参数好像不行啊??? 直接以‘select f_meter_code, f_meterday_date, f_meterday_used from t_rp_meter_dayenergytemp ’做为参数是没有问题的,那么“@LastTime” 变量怎样传入方法中呢???
问题二:写的“openrowset”方法访问本地“Oracle”数据库没有问题吧。
msdaora:MSDAORA是OLEDB FOR ORACLE的驱动
".":本地服务器
"scott":用户名
"123456":密码
"@oraclesql":操作语句
疑问:不用指定“Oracle”数据库的名字啊??? 数据库的名字叫做“orcl”...不用指定吗???
感谢各位大师。。。
[解决办法]
这个还真不懂,
[解决办法]
你去问问版主
[解决办法]
問題一: 用動態語句 (e.g. declare @sql nvarchar(max);select @sql=**;Exec (@sql))
問題二: 注意Oracle里面的大小寫區分
[解决办法]
http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/fc303057-9734-4f95-9b59-eac91897a773