5

是否有人成功使用 Amazon Redshift 作为 SQL Server Data Tools 2012 中的源或目标 ODBC 组件?

我已经安装了 Amazon 提供的 PostgreSQL 驱动程序,并在 Windows ODBC 驱动程序管理员中成功测试了连接,但是当我选择我保存的 DSN 并尝试提取表列表时,我仍然遇到神秘的错误消息。

4

2 回答 2

3

Redshift 基于相当老的 Postgres (8.0) 版本。从那时起,Postgres 发生了很大变化,Postgres 工具也随之发生了变化。在下载任何与 Redshift 一起使用的工具时,您可能需要使用几年前的旧版本。

表列表问题特别烦人,但我还没有找到psql可以正确列出 Redshift 表的版本。作为替代方案,您可以使用INFORMATION_SCHEMA表格来查找此类信息,在我看来,这是 SSIS/SSDT 默认应该做的事情。

我不希望 SSIS 能够可靠地将数据加载到 Redshift 中,即创建一个 Redshift 目标。这是因为 Redshift 并不真正支持INSERT INTO作为一种加载数据的方式。如果您使用INSERT INTO,您将只能每秒加载约 10 行。Redshift 只能使用COPY命令从 S3 或 DynamoDB 快速加载数据。

我尝试过的所有其他 ETL 工具都是类似的故事,尤其是开源工具 Pentaho PDI(又名 Kettle)和 Talend Open Studio。这在 Talend 的案例中尤其令人讨厌,因为它们具有 Redshift 组件,但它们实际上试图INSERT INTO用于加载。甚至亚马逊自己的 ETL 工具 Data Pipeline 也不支持将 Redshift 作为“节点”。

于 2013-07-17T13:12:39.243 回答
1

我已经成功了。尝试安装 32 位和 64 位版本的 PostgreSQL ODBC 驱动程序。

此外,在“配置属性”>“调试”下的项目属性中,将“Run64BitRuntime”设置为 False。

您也可以尝试在连接管理器中指定连接字符串。例如:驱动程序={PostgreSQL ANSI};服务器=redshiftdb.d113klxjd4ac.us-west-2.redshift.amazonaws.com;uid=;数据库=;端口=5432

于 2013-08-01T19:42:18.427 回答