sql server 2008连接oracle操作步骤详细记录,SQL Server 2008连接Oracle操作步骤详细记录...

SQL Server Management Studio Express(简写SSMS)

SQL Server配置管理器:SQL Server Configuration Manager(简写SSCM)

一、 开启SQL Server 2008远程连接---如果已经开启,则可以跳过

1. 打开SSMS,用Windows身份连接数据库后,右键点击数据库引擎,选择“属性”

2. 左侧选择“安全性”,选中右侧的“SQL Server和Windows身份验证模式”以启用混合登录模式

3. 左侧选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”

4. 打开SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行

5. 选中左侧“SQL Server网络配置”下的“MSSQLSERVER的协议”,右侧的TCP/IP默认是“Disabled”,双击或右键点击选“属性”,在“协议”选项卡中将其修改为“Enabled”,在“IP Address”选项卡,设置端口“1433”

6. 选中左侧“SQL Native Client 10.0配置”下的“客户端协议”,将“TCP/IP”也修改为“Enabled”

7. 重新启动SQL Server 2008

8. 此时应该可以使用了,但还是要确认一下防火墙。将SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允许的列表中

二、 安装Oracle客户端软件

可以去Oracle官网下载,比如“10201_client_win32”

安装成功后,在Oracle客户端安装目录下的/network/admin/tnsnames.ora配置所要连接的服务器的相关信息,比如:

TEST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.11.90)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

如果admin目录下没有“tnsnames.ora”,新建一个文本文件,改名为“tnsnames.ora”

三、 添加Windows的ODBC数据源

1. 开始->管理工具->数据源(ODBC)

有些“开始”菜单中没有放“管理工具”连接,则可以先到“控制面板”中,然后选择“性能和维护”,就可以找到“管理工具”了

2. 在“用户DSN”选项卡或者“系统DSN”选项卡下,点击“添加”,选择“Microsoft ODBC for Oracle”后点击“完成”

3. 填写相关信息

数据源名称、服务器名称与“tnsnames.ora”中配置的一样,其他两项可以忽略

填好后,点击“确定”

四、 在SSMS中创建链接服务器

1. 在SSMS中,展开已经连接上的某数据库引擎,依次选择服务器对象->链接服务器,在“链接服务器”上点右键,选择“新建链接服务器”

2. 在“常规”选项卡上按照如下填写:

“链接服务器”,随便取个名字

“访问接口”和“产品名称”如上图所示,不要做任何改变,包括大小写

“数据源”与“tnsnames.ora”中配置的一样,也即与“添加Windows的ODBC数据源”步骤中填写的一样

“访问接口字符串”,按照图上的格式来填写,或者“ID=username;Password=userpasswd”也行,这里的username和userpasswd为登录所要连接的Oracle数据库所使用的用户名和密码;这里一定要填写,虽然在“安全性”选项卡中也会填写

3. 切换到“安全性”选项卡,做如下配置

填写用户名和密码,与上一步所填的用户名和密码一致

点击“确定”,完成

4. 查看Oracle中的数据

此时,在“链接服务器”下面,会出现刚刚创建的链接服务器,展开,可以看到所有的表和视图,但是只能看到表名,不能查看字段

要查询可以右键点击某表,选择:编写脚本为->Select 到->新查询编辑器窗口

SQL的写法有两种

a)使用T-SQL语法:

SELECT * FROM test..username.表名

注意:在这种方式下取数,如果在oracle中声明表的时候表明用了引号,此处的表明必须和oracle中一致,否则全部使用大写,不然会提示找不到表。(此处浪费时间若干。。。)

b)使用PLSQL语法:

SELECT * FROMopenquery(test,'SELECT

* FROM test.username.表名')

c)第二种访问方式比第一种约快50%;第二种访问方式跟直连ORACLE的速度相当;

d)如果需要访问的column中使用没有精度的数据类型,这两种查询方式都可能会报错,这是ORACLE的BUG,无法修正,只能通过查询语句的特殊处理规避这一问题:

e)在sql server 中有 'msdaora' 和'OraOLEDB.Oracle'访问接口,右键属性更改下访问接口选项,将“仅零级”前面的√去掉。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值