Sql server 从Oracle到SQL 2019的外部表
我试图在SQL 2019上创建一个外部表,该表位于Oracle数据库中。(12C) 首先在SQL DB上创建主密钥Sql server 从Oracle到SQL 2019的外部表,sql-server,oracle,Sql Server,Oracle,我试图在SQL 2019上创建一个外部表,该表位于Oracle数据库中。(12C) 首先在SQL DB上创建主密钥 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'reallycomplicatePassword@1'; 接下来,我创建了Oracle DB凭据 CREATE DATABASE SCOPED CREDENTIAL [OracleCredential] WITH IDENTITY = 'oracleUserNameHere', SECRET
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'reallycomplicatePassword@1';
接下来,我创建了Oracle DB凭据
CREATE DATABASE SCOPED CREDENTIAL [OracleCredential]
WITH IDENTITY = 'oracleUserNameHere', SECRET = 'oraclePasswordHere';
接下来,我创建了数据源
CREATE EXTERNAL DATA SOURCE [OracleSalesSrvr]
WITH (LOCATION = 'oracle://myoracleserver',CREDENTIAL = [OracleCredential]);
最后,我尝试创建表
CREATE EXTERNAL TABLE Recharge(
ORIGINTRANSACTIONID VARCHAR(20) COLLATE Latin1_General_BIN NOT NULL,
ORIGINOPERATORID VARCHAR(255) COLLATE Latin1_General_BIN NOT NULL
)
WITH (
LOCATION='.SomeOracleSchema.Recharge',
DATA_SOURCE= OracleSalesSrvr
);
但收到以下错误:
Msg 105082,第16级,状态1,第1行105082;通用ODBC错误:
[Microsoft][ODBC Oracle Wire协议驱动程序]信息不足
连接到数据源。其他错误:ErrorMsg:
[Microsoft][ODBC Oracle Wire协议驱动程序]信息不足
若要连接到数据源,请执行以下操作:SqlState:HY000,NativeError:0
我猜我在创建外部数据源时没有指定服务名称或SID
但我不确定这是否可行或如何做到(如果是这样)。我的dba找到的解决方案: 与(
LOCATION='[ServiceName].[SchemaName].[Table]',我在Oracle和其他数据库(例如Progress和DB2)上也看到了一些关于此错误的帖子他们的一个共同点是提到ODBC.INI的配置不正确。我会在您的Oracle主页中找到ODBC.INI,并查看主机名、端口号、ServiceName等设置,确保它们正确且存在(如果不存在).Ref.同样的问题,我试图让微软更好地记录它…我尝试使用连接选项;但没有成功。。。