十万火急,“Oracle”和“SQLServer”数据库对接问题,期待大师

sswp7 2012-12-12 03:08:28
declare ImpCursor cursor for
select WDS.MeterNo as MeterNo, f_meterday_date, f_meterday_used as Qty

from openrowset('msdaora','.';'scott';'123456','select f_meter_code, f_meterday_date, f_meterday_used from t_rp_meter_dayenergytemp') as DS

left join WaterDatasSetting WDS
on DS.f_meter_code=WDS.JDMeterNo
where f_meter_code is not null
and f_meterday_date is not null
and f_meterday_used>=0
order by f_meterday_date

提示错误信息:
消息 7308,级别 16,状态 1,过程 Usp_WaterImp,第 22 行
因为 OLE DB 访问接口 'msdaora' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。


问题一:“因为 OLE DB 访问接口 'msdaora' 配置为在单线程单元模式下运行”什么意思??? 什么叫做“单线程单元模式下运行”???

问题二:“该访问接口无法用于分布式查询”,什么叫做“分布式查询”??? 跨越数据库查询就叫做“分布式查询”吧。

问题三:应该怎样解决这样的问题呢???

问题四:“update openrowset() set set lable=1”这样可以修改对应的“Oracle”数据库中表的数据吧? openrowset()就像“表”一样。




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”...不用指定吗???


问题七:配置Oracle和MSSQL TNS




这里口令输不进去了,就算输进去也是提示“无法连接”的。
这个问题应该如何处理??? 为什么配置不正确呢???







问题八:通过“openrowset”实现“SQLServer”访问“Oracle”一定要配置“TNS”吗???
...全文
257 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
starrycheng 2012-12-17
  • 打赏
  • 举报
回复
"listener.ora"和“tnsnames.ora”,直接复制“Oracle”服务端的给连接“客户端”的程序使用,一般都会好使吧??? 在客户端机器上手动创建“tnsnames.ora”有时候,不太好用。 “listener.ora”在客户端上也必须自己手动创建吧,不然连接提示找不到“监听程序”。
Cryking 2012-12-12
  • 打赏
  • 举报
回复
引用 1 楼 starrycheng 的回复:
期待大师,再多问一个问题。 问题九:“Oracle11g”中没有“OEM”了对吧??? 用“SQLPlus”应该如何重启Oracle服务呢??? 比如“ORCL”数据库,用户名“scott”(DBA),密码“123456”
重启服务?重启库是吧? SQLPLUS下重启数据库是需要SYSDBA权限的 先shutdown immediate 再startup
starrycheng 2012-12-12
  • 打赏
  • 举报
回复
期待大师,再多问一个问题。 问题九:“Oracle11g”中没有“OEM”了对吧??? 用“SQLPlus”应该如何重启Oracle服务呢??? 比如“ORCL”数据库,用户名“scott”(DBA),密码“123456”

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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