Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Jpype登录JDBC_Java_Python_Jdbc_Jpype_Jaydebeapi - Fatal编程技术网

Java 使用Jpype登录JDBC

Java 使用Jpype登录JDBC,java,python,jdbc,jpype,jaydebeapi,Java,Python,Jdbc,Jpype,Jaydebeapi,而下面的代码段可以工作 import jaydebeapi conn = jaydebeapi.connect('com.teradata.jdbc.TeraDriver',['jdbc:teradata://hostname/TMODE=TERA,CHARSET=utf8', 'username', 'password'],['/var/jar_files/tdgssconfig.jar','/var/jar_files/terajdbc4.jar']) 这不是。我的身份验证失败了 impo

而下面的代码段可以工作

import jaydebeapi
conn = jaydebeapi.connect('com.teradata.jdbc.TeraDriver',['jdbc:teradata://hostname/TMODE=TERA,CHARSET=utf8', 'username', 'password'],['/var/jar_files/tdgssconfig.jar','/var/jar_files/terajdbc4.jar'])
这不是。我的身份验证失败了

import jaydebeapi,jpype
jpype.startJVM(jpype.getDefaultJVMPath(),'-Djava.ext.dirs=/var/jar_files/')
conn = jaydebeapi.connect('com.teradata.jdbc.TeraDriver',['jdbc:teradata://hostname/TMODE=TERA,CHARSET=utf8', 'username', 'password'],)
这是stacktrace

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/jaydebeapi/dbapi2.py", line 324, in connect
    jconn = _jdbc_connect(jclassname, jars, libs, *driver_args)
  File "/usr/local/lib/python2.7/site-packages/jaydebeapi/dbapi2.py", line 148, in _jdbc_connect_jpype
    return jpype.java.sql.DriverManager.getConnection(*driver_args)
jpype._jexception.JDBCExceptionPyRaisable: com.teradata.jdbc.jdbc_4.util.JDBCException: [Teradata Database] [TeraJDBC 14.00.00.37] [Error 8017] [SQLState 28000] The UserId, Password or Account is invalid.

我已经多次确认用户名、密码是准确的。

请参阅Teradata手册,了解要传递给JDBC connect方法的参数。它是否将用户名作为第一个参数,密码作为第二个参数。或者您必须以不同的方式指定它们吗?jaydebeapi的合同是它将参数1:1传递给JDBC connect方法。好的,现在我看到第二个使用了不同的用户和密码谢谢@bastian我最终使用了第一个版本。好吧,第二个版本应该可以用。看一看Teradata JDBC连接的示例代码。特别是getConnectionurl、sUser、sPassword方法的签名