无法使用 SQOOP 列出来自 MS SQL 的表
Unable to list the tables from MS SQL using SQOOP
我尝试使用 sqoop 命令列出 MS SQL 中的数据库
sqoop list-databases --connect jdbc:sqlserver://10.x.x.x --username my_usrnme --password my_pwd
它工作正常,列出了 SQL 服务器中的所有数据库。
但是当我尝试使用命令列出特定数据库中的表时
sqoop list-tables --connect jdbc:sqlserver://10.x.x.x/db_name --username my_usrnme --password my_pwd
我得到的错误是
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 10.x.x.x/db_name, port 1433 has failed. Error: "null. Verify the
connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is
blocking TCP connections to the port."
有人遇到过这个问题吗?
您能从 sqoop 连接到 Db 吗?
首先,确认您可以从您所在的节点连接到数据库运行 Sqoop:
$ mysql --host=<IP Address> --database=test --user=<username> --password=<password>
如果这不起作用,那么您将不得不考虑修复客户端网络配置
我的查询在稍微更改命令后有效
sqoop list-tables --connect 'jdbc:sqlserver://10.x.x.x;database=db_name' --username my_usrnme --password my_pwd
需要的是,servername 和 dbname 必须在 ' '(单引号)中并用 ; 分隔。 (分号)。
我尝试使用 sqoop 命令列出 MS SQL 中的数据库
sqoop list-databases --connect jdbc:sqlserver://10.x.x.x --username my_usrnme --password my_pwd
它工作正常,列出了 SQL 服务器中的所有数据库。
但是当我尝试使用命令列出特定数据库中的表时
sqoop list-tables --connect jdbc:sqlserver://10.x.x.x/db_name --username my_usrnme --password my_pwd
我得到的错误是
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host 10.x.x.x/db_name, port 1433 has failed. Error: "null. Verify the
connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port."
有人遇到过这个问题吗?
您能从 sqoop 连接到 Db 吗?
首先,确认您可以从您所在的节点连接到数据库运行 Sqoop:
$ mysql --host=<IP Address> --database=test --user=<username> --password=<password>
如果这不起作用,那么您将不得不考虑修复客户端网络配置
我的查询在稍微更改命令后有效
sqoop list-tables --connect 'jdbc:sqlserver://10.x.x.x;database=db_name' --username my_usrnme --password my_pwd
需要的是,servername 和 dbname 必须在 ' '(单引号)中并用 ; 分隔。 (分号)。