sql server link server oracle

 

代码只有三句:

 

sp_addlinkedserver 'oraclelink', 'Oracle',  'MSDAORA', 'oraclenetname'

/*

其中oraclelink是要在sql中使用的名称,oraclenetnameoracle网络服务名称。

*/

go

sp_addlinkedsrvlogin 'oraclelink', 'false', 'sa', 'oracleuserid', 'oraclepwd'

/*

其中oraclelink是要在sql中使用的名称,是在sp_addlinkedserver定义的;

sasql中的用户,

oracleuseridoracle数据库的登录名称,oraclepwdoracleuserid的密码。

*/

go

 

SELECT * FROM oraclelink..ORACLEUSERID.AREA AREA_1

go

/*

用户名和表名ORACLEUSERID.AREA一定要大写,否则将会得到如下错误信息:

 

服务器: 消息7314,级别16,状态1,行1

OLE DB 提供程序'oraclelink' 不包含表'"oracleuserid"."AREA"'。该表可能不存在,或当前用户没有使用该表的权限。

OLE DB 错误跟踪[Non-interface error:  OLE DB provider does not contain the table: ProviderName='oraclelink', TableName='"oracleuserid"."AREA"']。

 

英文为提示为:

Server: Msg 7314, Level 16, State 1, Line 0

OLE DB provider 'oraclelink' does not contain table '"oracleuserid"."AREA"'.  The table either does not exist or the current user does not have permissions on that table.

OLE DB error trace [Non-interface error:  OLE DB provider does not contain the table: ProviderName='oraclelink', TableName='"oracleuserid"."AREA"'].

 

 

当前使用的用户,也就是使用企业管理器或查询分析器连接SQL Server的用户一定是sp_addlinkedsrvlogin中设置的用户,上面使用的是sa

如果使用windows集成验证,将会得到如下错误信息:

 

服务器: 消息7399,级别16,状态1,行1

OLE DB 提供程序'MSDAORA' 报错。验证失败。

[OLE/DB provider returned message: ORA-01004: 不支持默认用户名特性;登录被拒绝]

OLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize returned 0x80040e4d:  验证失败。]。

 

英文为提示为:

 

Server: Msg 7399, Level 16, State 1, Line 1

OLE DB provider 'MSDAORA' reported an error. Authentication failed.

[OLE/DB provider returned message: ORA-01004: default username feature not supported; logon denied]

OLE DB error trace [OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize returned 0x80040e4d: Authentication failed.].

 

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Oracle数据库中连接SQL Server数据库,可以使用Oracle Database Gateway for SQL Server。以下是连接步骤: 1. 安装Oracle Database Gateway for SQL Server。需要注意的是,安装Oracle Database Gateway for SQL Server之前,需要先安装SQL Server客户端软件,并配置好SQL Server客户端环境变量。 2. 在Oracle数据库中创建一个数据库链接,将链接命名为SQLServerLink。 3. 配置数据库链接属性。在数据库链接属性中,选择“HSODBC”作为提供程序,输入SQL Server数据库的DSN(数据源名称),以及SQL Server数据库的用户名和密码等信息。 4. 在Oracle数据库中创建一个数据库链接用户,并授权该用户访问SQL Server数据库中的表。 5. 在Oracle数据库中创建一个数据库链接表,将链接表命名为SQLServerTable。 6. 在链接表中定义链接表的结构。例如,如果要访问SQL Server数据库中的一个名为“Orders”的表,可以在链接表中定义类似以下的结构: ``` CREATE TABLE SQLServerTable ( OrderID NUMBER, OrderDate DATE, CustomerID NUMBER, Amount NUMBER ) ORGANIZATION EXTERNAL ( TYPE HS_LINK DEFAULT DIRECTORY ext_tab_data ACCESS PARAMETERS ( CONNECT_STRING 'DSN=SQLServerDSN;UID=sa;PWD=sa;' REMOTE_QUERY 'SELECT OrderID, OrderDate, CustomerID, Amount FROM Orders' ) LOCATION ('Orders.dat') ) REJECT LIMIT UNLIMITED; ``` 其中,“DSN=SQLServerDSN;UID=sa;PWD=sa;”是SQL Server数据库的DSN、用户名和密码等信息,“SELECT OrderID, OrderDate, CustomerID, Amount FROM Orders”是SQL Server数据库中的查询语句。 7. 在Oracle数据库中查询链接表。例如,可以使用以下语句查询链接表中的数据: ``` SELECT * FROM SQLServerTable; ``` 需要注意的是,使用Oracle Database Gateway for SQL Server连接SQL Server数据库时,需要遵循SQL Server数据库的权限控制规则,确保连接用户拥有访问SQL Server数据库中的表的权限。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值