【发布时间】: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