2017-03-10 68 views
1

我想連接到運行DB2 for I的遠程DB2實例。基本上我想批量從DB2加載數據並將其導入本地postgres innstance。從Linux命令行連接到遠程DB2

我的機器有一個Debian傑西和我下載並安裝IBM 數據服務器運行時客戶端(Linux的AMD64和Intel EM64T)

我測試通過數據庫管理工具(dbeaver)的連接,它的工作原理。但是我無法讓CLI在任何模式下工作。我試着遵循IBM指南(如https://www.ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/comref/src/tpc/db2z_clpconnectsyntax.html),但無濟於事。

以上指南建議:

db2 => CONNECT TO myIP:myPort/myDB USER myid01 USING mypw01 

,但我得到

SQL0104N An unexpected token "myIP:myPort/myDB" was found following 
"TO". Expected tokens may include: "<database-alias>". SQLSTATE=42601 

我無法找到任何東西,在IBM工作的紀錄片。

+0

使用CONNECT MYIP:MyPort上/ MYDB USER myid01使用mypw01 – Satya

+0

您正在尋找在錯誤的文件,如果你使用的是在IBM i DB2。 – mustaccio

+0

我沒有發現任何與我想在DB2 for I文檔中做什麼有關的任何事情:( – Kaylon

回答

0

的錯誤狀態:

Expected tokens may include: "<database-alias>" 

你需要在你的命令添加,例如:通過編目連接(https://www.ibm.com/support/knowledgecenter/SSSNY3_10.1.0/com.ibm.db2.luw.qb.client.doc/doc/t0005621.html

db2 => CONNECT TO myIP:myPort/DB_ALIAS.myDB USER myid01 USING mypw01 

的database_alias可以被創建。您可能需要運行以下命令:

$ db2 catalog tcpip node SERVER_NAME remote SERVER_IP server SERVER_TCP_PORT 
$ db2 catalog database DB_NAME as DB_ALIAS at node SERVER_NAME 
+0

感謝您的輸入。我做了它並試圖連接我得到: db2 => CONNECT to DB_NAME USER myid01 USING mypw01 SQL30081N檢測到通訊錯誤使用通訊協議 :「TCP/IP」通訊API正在使用:「SOCKETS」位置 檢測到錯誤的位置:「myIP」通訊功能檢測 錯誤: 「recv」。特定於協議的錯誤代碼:「*」,「*」,「0」。 SQLSTATE = 08001 – Kaylon

+0

不幸的是,被審查,和pos大概考慮使用[IBM DB2 JDBC驅動程序進行連接](http://www-01.ibm.com/support/docview.wss?uid=swg21363866)。 – zlig

+0

是的,我可能會破解一個小型的Python CLI,只是做這個用例。至少有一個集成了sqlalchemy的DB2 for I5驅動程序。還是非常感謝您的意見! – Kaylon