通过SQL Server PolyBase在Oracle上创建外部表时出现错误

时间:2019-06-24 21:30:35

标签: oracle polybase oracle18c sql-server-2019

我正在尝试使用SQL Server PolyBase在Oracle上创建外部表

一开始我遇到错误

  

ORA-28040:没有匹配的身份验证协议

在sqlnet.ora中添加以下行

  

SQLNET.ALLOWED_LOGON_VERSION = 8

先前的错误消失了,我开始低于错误

  

[Microsoft] [ODBC Oracle Wire Protocol驱动程序] [Oracle] ORA-01017:   无效的用户名/密码;登录被拒绝

我已使用以下凭据创建了数据源

CREATE DATABASE SCOPED CREDENTIAL ora_cred WITH IDENTITY = 'SYSTEM', Secret = 'SYSTEM';

CREATE EXTERNAL DATA SOURCE ora_ds
WITH ( LOCATION = 'oracle://xeonserver:1521',
-- PUSHDOWN = ON | OFF,
CREDENTIAL = ora_cred)

create external table Student
(
    id int,
    name varchar(25)
)
with (
    location = 'XE.SYSTEM.Student',
    data_source = ora_ds
)

我可以使用(XE)连接到Oracle实例SYSTEM/SYSTEM,所以我不知道为什么会收到错误消息。

我正在使用SQL Server 2019 CTP-2和Oracle 18 Express。

1 个答案:

答案 0 :(得分:0)

在没有看到所有日志的情况下,我的猜测是您用来创建表的用户没有权限在与其连接的数据库中创建表。检入该数据库并为其授予架构所有权。