Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从Oracle到SQL 2019的外部表_Sql Server_Oracle - Fatal编程技术网

Sql server 从Oracle到SQL 2019的外部表

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

我试图在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 = '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.同样的问题,我试图让微软更好地记录它…我尝试使用连接选项;但没有成功。。。