2013-06-26 67 views
5

是否有人成功使用Amazon Redshift作爲SQL Server Data Tools 2012中的源或目標ODBC組件?帶SSIS/SSDT的紅移

我已經安裝了亞馬遜提供的PostgreSQL驅動程序,並且已經成功地在Windows ODBC驅動程序管理員中測試了一個連接,但是當我選擇保存的DSN並嘗試拉出一個表格列表時,仍然遇到了不可思議的錯誤消息。

回答

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(aka Kettle)和Talend Open Studio,這是一個類似的故事。這在Talend的情況下特別惱人,因爲他們有Redshift組件,但他們實際上試圖使用INSERT INTO進行加載。即使亞馬遜自己的ETL工具Data Pipeline也不支持Redshift作爲「節點」。

0

我已經成功了。嘗試安裝32位和64位版本的PostgreSQL ODBC驅動程序。

另外,在您的項目屬性下的'配置屬性'>'調試'中,將'Run64BitRuntime'設置爲False。

您還可以嘗試在連接管理器中指定連接字符串。例如: Driver = {PostgreSQL ANSI}; server = redshiftdb.d113klxjd4ac.us-west-2.redshift.amazonaws.com; uid =; database =; port = 5432