电子商务网站建设需要知识,徐州市丰县建设局网站,跨境电商选品师平台有哪些,石家庄最新封闭消息之前写过一篇关于SQL Server 访问MySQL数据库的文章#xff0c;最近正好又遇到需要访问Oracle 的情况#xff0c;将配置过程记录下来也供大家参考。准备工作事先在需要访问Oracle 数据库的主机上完成以下工作#xff1a;1. 安装SQL Server 数据库#xff1a;SQL Server 200…之前写过一篇关于SQL Server 访问MySQL数据库的文章最近正好又遇到需要访问Oracle 的情况将配置过程记录下来也供大家参考。准备工作事先在需要访问Oracle 数据库的主机上完成以下工作1. 安装SQL Server 数据库SQL Server 2008 R2 Express2. 安装Oracle 客户端访问程序Oracle 10g Client3. 配置Oracle 客户端tnsnames.ora 文件其中需要注意文件中的数据库别名“ORADB”该名称在下文创建Linked Server 时将会使用到。ORADB (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST HOSTIP)(PORT 1521))(CONNECT_DATA (SID DBNAME)))4. 确保主机可以通过SQLPlus 访问远程Oracle 数据库。创建Linked Server打开SQL Server Management Studio 进入Server Objects 列表右键Linked Servers点击“New Linked Server...”在General 界面中填写下面几项内容Linked server 填写Linked Server 名称Provider选择Microsoft OLE DB Provider for OracleProduct name填写OracleData source填写上面提到的数据库别名ORADB点击Security 点选“Be made using this security context”假设Oracle 数据库有一个名称为admin 的用户ID在“Remote login”中输入访问帐号点击“OK”结束创建。完成后Linked Servers 中会看到刚创建的Oracle 数据库链接。访问Oracle接下来就可以在SQL Server 端访问Oracle 数据库了查询语法如下SELECT*FROMLINKED_NAME..ACCOUNT_NAME.TABLE_NAME;结合上面的实例假如要查询admin 用户下jobs 表的内容则相应SQL 语句应为SELECT*FROMORASVR..ADMIN.JOBS;使用上述方法进行数据查询时若Oracle 表有NUMBER 列时会出现转化错误这时可以将NUMBER 类型转化为字符串(也有将该列属性修改成NUMBER(10)为NUMBER 列设定好位数)。考虑到View 查询等因素个人感觉还是转为字符串的方式较为通用。当然如果查询的列过多每个NUMBER 列都转为VARCHAR 的话工作量也的确不小这时***的方法就是使用OPENQUERY 函数SELECT*FROMOPENQUERY(LINKED_NAME,SELECT * FROM TABLE_NAME);按照OPENQUERY 的语法上面SQL 语句应变为SELECT*FROMOPENQUERY(ORASVR,SELECT * FROM JOBS);这样我们就可以在SQL Server 端方便的访问Oracle 数据库并做相应的数据调整。原文标题通过SQL Server 2008 访问Oracle 10g链接http://www.cnblogs.com/gnielee/archive/2010/09/07/access-oracle-from-sqlserver.html【编辑推荐】【责任编辑彭凡 TEL(010)68476606】点赞 0