2

我尝试使用以下 Sqoop 命令列出 Oracle 数据库中的表:

sqoop list-tables --connect jdbc:oracle:thin:@//10.13.25.118:1521/udc.ds.dtvops.net --username xxxx --password xxxx

但我得到这个错误:

13/11/12 16:34:58 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
13/11/12 16:34:58 INFO manager.SqlManager: Using default fetchSize of 1000
13/11/12 16:34:59 INFO manager.OracleManager: Time zone has been set to GMT`

我该如何解决这个问题?

4

3 回答 3

3

Sqoop 是一种工具工具,列表表就是其中之一。

使用列表的语法:

sqoop list-tables --connect <> --username <> --password <>

在你的情况下,试试

sqoop list-tables --connect jdbc:oracle:thin@10.13.25.118:1521/db_name --username xxxx --password xxxx

写下您的数据库名称代替db_name.

于 2014-08-22T14:17:00.280 回答
0

Oracle 内置连接器中的列表表工具仅限于用于连接本身的用户所拥有的表。查看 Sqoop 将执行的查询

list-tables 工具更像是一个探索选项,而不是生产使用的工具,所以我建议简单地导入您需要的表。考虑到您使用不同的用户名登录 Oracle,然后是表的所有者,您需要在命令行的 --table 参数中指定所有者:

sqoop 导入 ... --table OWNER.TABLE

于 2013-11-13T16:16:20.200 回答
0

如果 oracle 和 http 服务没有运行,您可能必须先启动它们。

为 Apache http 和 oracle 启动服务(例如:Oracle Database 11g Express Edition)

sudo service httpd start
sudo service oracle-xe start

然后,您可以运行 sqoop 命令

sqoop list-tables --connect jdbc:oracle:thin@10.13.25.118:1521/db_name --username xxxx --password xxx
于 2015-06-14T05:51:10.923 回答