Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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
客户端使用Python3连接到sybase IQ_Python_Python 3.x_Sybase_Sap Iq - Fatal编程技术网

客户端使用Python3连接到sybase IQ

客户端使用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

我正在使用Ubuntu,我想连接到一个远离客户端机器的sybase IQ服务器,我根据sybase文档尝试安装/使用sqlanydb,但在sqlanydb.connect中没有看到任何与sybase服务器IP相关的参数。我认为这个例程假设sybase db在本地主机上,对吗

我是否需要在客户端安装sybase才能 连接到远程sybase数据库?或者仅仅sqlanydb就足够了

如何使此驱动程序连接到远程服务器


您确实需要安装客户端软件。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参数是后来添加的,它精确地指定服务器运行的位置。当使用链接时,客户端缓存结果,以便在第二次和后续时间不必发送广播。除了客户机第一次连接到特定服务器外,没有任何性能差异。