【问题标题】:Cannot connect Polybase to PostgreSQL无法将 Polybase 连接到 PostgreSQL
【发布时间】:2021-04-30 10:39:23
【问题描述】:

尝试使用 MSSQL Polybase 建立与 PostgresSQL 服务器的连接。今天我们使用 Linked Server 将 Postgres 数据库中的数据提取到 MSSQL 中,并且运行良好。但是 Polybase 有一些功能可以解决一些关于加入等的程序问题,因此 Polybase 是解决方案。只要有效! ;-)

但我没有让它工作。而且我在 Google 上找不到任何真正的帮助。

这是代码;

> CREATE DATABASE SCOPED CREDENTIAL PG_EXAMPLE WITH IDENTITY = 'pgUSER', Secret = 'verylongpassword';

> CREATE EXTERNAL DATA SOURCE PG_EXAMPLE_DATA
 >WITH ( LOCATION = 'odbc://PG_SERVERNAME:5432',
 >CONNECTION_OPTIONS = 'Driver={PostgreSQL Unicode(x64)}',
 >PUSHDOWN = ON,
 >CREDENTIAL = PG_EXAMPLE);

尝试创建外部表:

 >    CREATE EXTERNAL TABLE databas(
 >    namn [nvarchar](255) NULL,
 >    datorid [nvarchar](255) NULL
 >    ) WITH (
 >    LOCATION='exampel_databas_on_PGserver',
 >    DATA_SOURCE=PG_EXAMPLE_DATA
 >    );

ERROR MESSAGE

>    Msg 105082, Level 16, State 1, Line 10
>    105082;Generic ODBC error: Error while executing the query .

任何人都可以在这里传播一些光,我做错了什么。也许有人尝试过让它工作??

非常感谢任何帮助和建议。

谢谢!!!

【问题讨论】:

  • 你检查过 postgres 日志吗?如果您在 linux 环境中运行它,请发出 su - postgres,它会将您带到与 postgres 相关的文件夹。可能是权限问题。

标签: sql-server postgresql polybase


【解决方案1】:

检查 LOCATION 是表的名称,它可能区分大小写,并且您不能指定数据库和架构。如果可以,请尝试与“postgres”用户连接。还可以尝试指定 IP 而不是主机名。 我用过 ANSI 驱动程序,也可以试试:{PostgreSQL ANSI(x64)}。 作为最后一个资源,检查驱动版本,我用 psqlodbc_12_02_0000-x64.zip 测试。

【讨论】:

  • 问题实际上是缺少补丁和更新的 psqlodbc!感谢您的输入。 :-)
猜你喜欢
  • 2020-07-28
  • 1970-01-01
  • 2020-07-06
  • 1970-01-01
  • 2012-11-01
  • 2019-11-02
  • 1970-01-01
  • 2020-01-01
  • 2019-09-02
相关资源
最近更新 更多