我试图为JDBC连接URL设置超时值(100秒)。我想在Sqoop的JDBC连接字符串中使用?param=value,但是我得到了如下错误:
错误管理器。SqlManager: Error execution statement: java.sql.SQLException: NL Exception was generatedjava.sql.SQLException:生成了NL异常oracle.jdbc.driver.SQLStateMapping.newSQLException (SQLStateMapping.java: 70)oracle.jdbc.driver.DatabaseError.newSQLException (DatabaseError.java: 133)
我使用下面的语法:
sqoop import --connect jdbc:oracle:thin:@<ip address>:<port>/<service-name>?oracle.net.CONNECT_TIMEOUT=100 --username <username>
您应该使用所谓的长格式URL来设置额外的参数。例如,如果您想将连接超时时间设置为10秒,请尝试:
sqoop import --connect jdbc:oracle:thin:@(DESCRIPTION=(CONNECT_TIMEOUT=10)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=<ip address>)(PORT=<port>)))(CONNECT_DATA=(SERVICE_NAME=<service-name))) --username <username>