2

我尝试使用 Sqoop 从 Oracle DB 导入数据。

我已将 Oracle JDBC 驱动程序 (ojdbc6.jar) 放入 SQOOP_HOME/lib。

我的JDK是1.6版本。

这是我的查询:

sqoop import --hive-import --connect jdbc:oracle:thin@<ip_server>:1521/db --table ENTITE --username username --password password 

但是,当我启动命令时,我得到了这个错误:

ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.oracleDriver
java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.oracleDriver

我不明白为什么 Sqoop 无法连接到我的数据库服务器。

谢谢你的帮助

4

9 回答 9

1

如果您使用 sqoop 1.4.2 假设基于上面的 ojdbc6.jar,请在此处查看 Kathleen 关于 --driver 用法的评论,因为它不应该是必需的:

https://issues.apache.org/jira/browse/SQOOP-457

使用 sqoop 1.4.2 并将 ojdbc6.jar 放入我的 sqoop/lib 中,此字符串适用于 HDP 1.3 和 MapR 2.0:

sqoop import --connect "jdbc:oracle:thin:@(description=(address=(protocol=tcp)(host=myhost)(port=1521))(connect_data=(service_name=myservice)))" \
--username USER --table SCHEMA.TABLE_NAME --hive-import --hive-table SCHEMA.TABLE_NAME \
--num-mappers 1 --verbose -P \

如果您可以访问 mysql 和/或 sql server 等,也请测试它们并确保您的 lib 目录已被拾取。SQL Server 应该在 sqoop 1.4 中,但文档和尝试使用它证明并非如此:

http://www.microsoft.com/en-us/download/confirmation.aspx?id=11774 - 这是你想要的 sql server 测试。

干杯。

于 2013-06-13T05:01:06.333 回答
1

您需要在 sqoop lib 目录中添加 oracle jdbc 驱动程序

于 2013-12-25T09:05:11.040 回答
1

您必须下载 oracle 连接器 jar 文件并将该 jar 文件复制到 Sqoop 的 lib 文件夹。

jar 文件可以从http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html下载

将此 jar 文件复制到您的 Sqoop lib 文件夹 (/usr/lib/sqoop/lib)

并运行 sqoop 命令。

于 2015-05-11T10:00:18.993 回答
0

查看错误消息: 无法加载数据库驱动程序类:oracle.jdbc.oracleDriver 您需要使用高寄存器“O”键入 oracle.jdbc.OracleDriver,因为 java 区分大小写

于 2014-04-01T16:01:02.923 回答
0

该错误表示 sqoop 无法加载 oracle 驱动程序类,因为其路径中没有 ojdbc 驱动程序 jar 文件。首先,您必须将 ojdbc 驱动程序 jar 添加到 sqoop 主目录的 lib 文件夹中。请在这里下载

http://www.java2s.com/Code/Jar/o/Downloadojdbc6jar.htm
于 2014-09-08T05:02:33.897 回答
0

通过添加 echo 检查您的 sqoop 类路径,并确保您的驱动程序位于类路径中。我遇到过同样的问题并解决了。

于 2013-09-06T12:50:50.410 回答
0

需要将 oracle ojdbc6.jar 复制到 sqoop/lib 目录才能使其工作。

于 2018-11-27T09:05:43.237 回答
-1

sqoop import --connect "jdbc:oracle:thin:@(description=(address=(protocol=tcp)(host=hostip)(port=1521))(connect_data=(service_name=servicename)))" --username 用户--password pwd --table schema.tablename --hive-import --num-mappers 1 --verbose -P

于 2014-04-22T11:01:53.430 回答
-1

您可以像这样声明您使用的 oracle 驱动程序

sqoop import --hive-import --driver oracle.jdbc.driver.oracledriver --connect jdbc:oracle:thin@<ip_server>:1521/db --table ENTITE --username username --password password

于 2013-06-10T14:21:53.500 回答