原因:正如提示信息所说
查看oracle安装目录下的BIN目录,发现没有OraOLEDB*.dll
解决慎源方法:
从运行正常的机器上拷贝上述dll文件
然后注册其中的
OraOLEDB10.dll(其它版本的oracle可能后面的数字会跟随变化)
注册方法:
regsvr32 OraOLEDB10.dll
在其所在目穗孝消录下执行
另
使用Provider=MSDAORA时,不支持读写BLOB和CLOB类型的数据,没办法,猜知只能使用oracle oledb
原来Oralce OLEDB是oracle提供的,怪不得怎么重装微软的数据库驱动都不行!
试图与 Oracle 链接服务器,例如使用 MSDAORA OLE DB 提供程序使用一个查询:select * from OracleServer..demo.Product
可能辩尘族会导致错误类似于以下内容:
服务器携弊: 消息 7306,级别 16,2,状态行 1
无法打开表"演示""乘积"' 从 OLE DB 访问接口 MSDAORA。指定的表不存在。
[/ OLE DB 提供兄卜程序返回消息: 不存在指定的表]
[/ OLE DB 提供程序返回消息: ORA 00942: 表或视图不存在]
1)首先安装Oracle客户端,并创建到服务器的连接,用户森皮名为TEST。2)在sql server2008的Management Stadio 中ServerObject->LinkedServer->New LinkedServer
3)在新建对话框"常规"选项卡里面, 选择Microsoft ole db provider for oracle驱动. 产品名称为"Oracle", 数据源就是上面建立的网络名称TEST. 提供程序字符串填为 "MSDAORA".
4)在新建对话框"常规"选项卡里此告差面输入该链接服务器取的名称(LINKTEST),"安全性" 选项卡里面, 选择" 用此安全上下文进行:", 输入Oracle中的用户名和密码.
5)如果连接不上,报MSDAORA不能提供连接错误的话,需要把ora81\network\ADMIN\sqlnet.ora文件中的“SQLNET.AUTHENTICATION_SERVICES= (NTS)”注掉。
6)引用方法:Oracle数据友雀库中的表[LINKNAME]..[USERNAME].[TABLENAME]。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)