如何通过SQL Server 2008访问Oracle 10g
类型:电子教程大小:8.5M语言:中文评分:8.3标签:现在下载通过SQL Server 2008访问Oracle 10g的准备
在需要访问Oracle数据库的主机上提前完成以下任务:
1.安装SQL Server数据库:SQL Server 2008 R2快报
2.安装Oracle客户端访问程序:Oracle 10g客户端
3.配置Oracle客户端tnsnames.ora文件,并注意文件中的数据库别名“ORADB”,这将在下面创建链接服务器时使用。
ORADB=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=HOSTIP)(PORT=1521))(CONNECT _ DATA=(SID=DBNAME)))
4.确保主机可以通过SQLPlus访问远程Oracle数据库。
创建链接服务器
打开SQL Server管理工作室,进入服务器对象列表,右键单击链接服务器,然后单击“新建链接服务器.”
在常规界面填写以下项目:
链接服务器:填写链接服务器名称
提供程序:为Oracle选择Microsoft ole db提供程序
产品名称:填写甲骨文
数据来源:填写上述数据库别名ORADB
单击安全,单击“使用此安全上下文创建”,假设Oracle数据库具有名为admin的用户标识,在“远程登录”中输入访问帐户,然后单击“确定”完成创建。
完成后,您将在链接服务器中看到新创建的Oracle数据库链接。
访问甲骨文
然后,您可以在SQL Server端访问Oracle数据库,查询语法如下:
从链接名称中选择*.帐户名称。表名;
结合上面的例子,如果要查询admin用户下jobs表的内容,对应的SQL语句应该是:
从ORASVR中选择*.ADMIN。JOBS
使用上述方法查询数据时,如果Oracle表中有NUMBER列,会出现转换错误。此时,NUMBER类型可以转换为字符串(或者将列属性修改为NUMBER(10),并为NUMBER列设置NUMBER位数)。考虑到View查询等因素,个人感觉变成字符串比较常见。
当然,如果查询中列太多,每个NUMBER列都转换为VARCHAR,工作量确实不小。此时,最好的方法是使用OPENQUERY函数:
从开放查询中选择*(链接名,‘从表名中选择*);
根据OPENQUERY的语法,上面的SQL语句应该是:
从开放查询中选择*;
这样,我们就可以方便地在SQL Server上访问Oracle数据库,并进行相应的数据调整。
版权声明:如何通过SQL Server 2008访问Oracle 10g是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。