Hive 无法使用SQOOP列出MS SQL中的表

Hive 无法使用SQOOP列出MS SQL中的表,hive,sqoop,Hive,Sqoop,我尝试使用sqoop命令在mssql中列出数据库 sqoop list-databases --connect jdbc:sqlserver://10.x.x.x --username my_usrnme --password my_pwd 它可以正确地列出SQL server中的所有数据库 但是当我尝试使用命令列出特定数据库中的表时 sqoop list-tables --connect jdbc:sqlserver://10.x.x.x/db_name --username my_usr

我尝试使用sqoop命令在mssql中列出数据库

sqoop list-databases --connect jdbc:sqlserver://10.x.x.x --username my_usrnme --password my_pwd 
它可以正确地列出SQL server中的所有数据库

但是当我尝试使用命令列出特定数据库中的表时

sqoop list-tables --connect jdbc:sqlserver://10.x.x.x/db_name --username my_usrnme --password my_pwd
我得到的错误如下

com.microsoft.sqlserver.jdbc.SQLServerException:与主机10.x.x.x/db_name、端口1433的TCP/IP连接失败。错误:“空。请验证
连接属性,请检查SQL Server实例是否正在主机上运行并在端口接受TCP/IP连接,以及是否没有防火墙 正在阻止与端口的TCP连接。“


有人遇到过这个问题吗?

您能从sqoop连接到Db吗

首先,验证是否可以从运行Sqoop的节点连接到数据库:

$ mysql --host=<IP Address> --database=test --user=<username> --password=<password>
$mysql--host=--database=test--user=--password=

如果这不起作用,那么你必须考虑修复客户端网络配置

,在稍微更改命令后,我的查询工作为

sqoop list-tables --connect 'jdbc:sqlserver://10.x.x.x;database=db_name' --username my_usrnme --password my_pwd
所需的是,servername和dbname必须在“”中(单引号),并用分隔符分隔;(分号)