项目中用到sqlserver去连接oracle,通过sqlserver可以直接操作oracle.
1、安装oracle客户端软件,并配置:
1)打开Net Manager,新增服务名:
2)选择网络协议:
3)填写主机名和端口号:
4)填写服务名:
5)下一步,进行测试:
6)测试结果:
2、设置sqlserver:
1)打开企业管理器,选择服务器对象--链接服务器
2)右键选择"新建链接服务器"
3)常规选项,填写内容。
链接服务器:定义链接名称;
服务器类型--其他数据源,指定程序名称为:Microsoft OLE DB Provider for Oracle;
产品名称:Oracle(可不填);
数据源:orcl(oracle新建的服务名);
访问接口字符串:UID=username;PWD=userpasswd(或MSDAORA);
4)选择安全性:
选择使用此安全上下文进行连接,输入用户名,密码。
5)连接中可看到表和视图:
整个过程基本完成!
3、SQL的写法有两种:
a) 使用T-SQL语法:
SELECT * FROM ERP.BAS_ITEM_CLASS
注意在,SQL查询分析器中输入SQL语句时注意中文的全角半角切换方式!
b) 使用PLSQL语法:
SELECT * FROM OPENQUERY(orcl,'SELECT * FROM ERP.BAS_ITEM_CLASS ')
c)第二种访问方式比第一种约快50%;第二种访问方式跟直连ORACLE的速度相当;第一种访问方式可能会导致一些意外错误,如:
该表不存在,或者当前用户没有访问该表的权限等等一些信息。
d)如果需要访问的column中使用没有精度的数据类型,这两种查询方式都可能会报错,这是ORACLE的BUG,无法修正,只能通过查询语句的特殊处理规避这一问题:
OLE DB 提供程序 'OraOLEDB.Oracle' 为列提供的元数据不一致。执行时更改了元数据信息。