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方法的签名