如何使用Jaydebeapi模块以及Python3中的SAP Sybase JDBC驱动程序(JCONN4.JAR)连接



我是Python编程的新手。我正在尝试使用Python3连接到NetCool对象服务器,我正在使用Jaydebeapi模块以及SAP Sybase JDBC驱动程序(JCONN4.JAR(

以下是示例脚本:

import jaydebeapi
server="xxx"
database="xx"
user="xx"
password="xx"
jclassname='com.sybase.jdbc4.jdbc.SybDriver'
url='jdbc:sybase:Tds://'+server+'/'+database
driver_args=[url,user,password]
jars="path/jconn4.jar"
conn=jaydebeapi.connect(jclassname,driver_args,jars)
curs = conn.cursor()
curs.execute("select * from status")
curs.fetchall()`

当我执行脚本时,它显示出错误如下

File "sample.py", line 12, in <module>
    conn=jaydebeapi.connect(jclassname,driver_args,jars)
  File "/usr/local/lib/python3.5/site-packages/jaydebeapi/__init__.py", line 381, in connect
    jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs)
  File "/usr/local/lib/python3.5/site-packages/jaydebeapi/__init__.py", line 199, in _jdbc_connect_jpype
    return jpype.java.sql.DriverManager.getConnection(url, *dargs)
RuntimeError: No matching overloads found. at native/common/jp_method.cpp:117

如果有人使用python3中的jaydebeapi模块成功连接到NetCool对象服务器?请分享示例脚本

谢谢

您指定的URL格式不正确。以下对我有用。

url = jdbc:sybase:Tds:++hostname:++dbport/++dbname

例如

conn = jaydebeapi.connect('com.sybase.jdbc4.jdbc.SybDriver', ['jdbc:sybase:Tds:hostA:8888/db1','root',''],['path/jconn4.jar'])

最新更新