客户端使用Python3连接到sybase IQ
我正在使用Ubuntu,我想连接到一个远离客户端机器的sybase IQ服务器,我根据sybase文档尝试安装/使用sqlanydb,但在sqlanydb.connect中没有看到任何与sybase服务器IP相关的参数。我认为这个例程假设sybase db在本地主机上,对吗 我是否需要在客户端安装sybase才能 连接到远程sybase数据库?或者仅仅sqlanydb就足够了 如何使此驱动程序连接到远程服务器客户端使用Python3连接到sybase IQ,python,python-3.x,sybase,sap-iq,Python,Python 3.x,Sybase,Sap Iq,我正在使用Ubuntu,我想连接到一个远离客户端机器的sybase IQ服务器,我根据sybase文档尝试安装/使用sqlanydb,但在sqlanydb.connect中没有看到任何与sybase服务器IP相关的参数。我认为这个例程假设sybase db在本地主机上,对吗 我是否需要在客户端安装sybase才能 连接到远程sybase数据库?或者仅仅sqlanydb就足够了 如何使此驱动程序连接到远程服务器 您确实需要安装客户端软件。python驱动程序基本上是dbcapi客户机库的pytho
您确实需要安装客户端软件。python驱动程序基本上是dbcapi客户机库的python接口,因此如果机器上没有安装客户机软件,就无法使用它 要连接到远程服务器,可以使用主机参数。connect函数将任何有效的连接参数作为参数,因此连接字符串如uid=steve;pwd=秘密密码;host=myserverhost:4567;dbn=mydatabase将转换为:
sqlanydb.connect( uid = 'steve',
pwd = 'secretpassword',
host = 'myserverhost:4567',
dbn = 'mydatabase' )
记录连接参数。如果未使用主机,客户端将尝试共享内存连接。共享内存比TCP快,但显然只有当客户端和服务器在同一台机器上时才能工作。您可以使用下面的api进行连接
import Sybase
db = Sybase.connect('server','name','pass','database')
c = db.cursor()
c.execute("sql statement")
确保sql.ini文件中存在dsn。谢谢,是的,它起作用了,我还找到了另一个使用links=tcpip的解决方案。。。我很想知道它与您的解决方案性能方面的差异!links参数较旧,当您不知道数据库服务器运行在哪台机器上时使用。它发送UDP广播数据包,服务器对此做出响应,然后从那里建立TCP连接。host参数是后来添加的,它精确地指定服务器运行的位置。当使用链接时,客户端缓存结果,以便在第二次和后续时间不必发送广播。除了客户机第一次连接到特定服务器外,没有任何性能差异。