2016-08-10 211 views
0

sqoop import --driver="com.microsoft.jdbc.sqlserver.SQLServerDriver" --connect="jdbc:microsoft:sqlserver://**.**.**.** :1433/DB_Schema;Integrated Security=TRUE" --table dbo.TABLE_NAMESqoop未能從SQL Server導入數據

錯誤1:

--driver設爲但是相應的連接管理器沒有設置明確的驅動程序(通過--connection經理) .Sooop打算 回落到org.apache.sqoop.manager.GenericJdbcManager。請 明確指定下次應使用哪個連接管理器。

錯誤2:

了異常運行Sqoop:了java.lang.RuntimeException:無法加載 DB驅動程序類:com.microsoft.jdbc.sqlserver.SQLServerDriver

  • Sqoop版本:1.4.6 Sqoop
  • Hadoop版本:Hadoop 2.6.0
  • Java版本:1.7.0_51
  • SQL罐子:sqljdbc4.jar

可能是什麼原因。

+0

sqljdbc4.jar已放置在此位置-sqljdbc4.jar中。會不會有其他問題導致這個問題。請讓我知道。 – AnushaR

回答

1

關於錯誤1

這不是錯誤只是警告org.apache.sqoop.manager.GenericJdbcManager適用於SQL Server。

關於錯誤2

確保在sqoop/lib

+0

請注意,你的中間部分表明必須指定驅動程序,並且必須指定用戶名和密碼,並且該用戶需要將並列設置爲1.我不認爲這些建議是好的(隱含的)建議。 - 放置在底部提到的罐子可能已經足以解決問題。 –

+1

@DennisJaheruddin我刪除了示例命令 –

0

錯誤1添加sqljdbc4.jar - 是不是一個錯誤。

錯誤2 - 用於訪問MS SQL Server數據庫Sqoop需要額外的JDBC驅動程序,可以從Microsoft下載。下面的步驟將安裝MSSQL Server JDBC驅動程序來Sqoop:

wget 'http://download.microsoft.com/download/0/2/A/02AAE597-3865-456C-AE7F-613F99F850A8/sqljdbc_4.0.2206.100_enu.tar.gz' 

tar -xvzf sqljdbc_4 

cp sqljdbc_4.0/enu/sqljdbc4.jar /usr/hdp/current/sqoop-server/lib/ 

而且使用的是集成安全性,因爲據我所知,它不是由Sqoop的SQL Server的支持,所以你會得到錯誤3。您必須使用SQL Server安全性,創建單獨的用戶並顯式傳遞用戶名密碼或創建單獨的憑據文件。

+0

sqljdbc4.jar已經放置在這個位置-sqljdbc4.jar中。會不會有其他問題導致這個問題。請讓我知道 – AnushaR

+0

@AnushaR當sqoop無法找到或訪問sqljdbc4.jar文件時,通常會發生此錯誤。要麼它丟失,要麼你的java版本與驅動程序jar文件不兼容。我可以建議你仔細檢查你的配置和參考 – Alex