首页 > 解决方案 > Python sybpydb.connect 函数无法传递主机名

问题描述

我编写了一个 python 脚本,它连接到我们的内部系统以提取数据并将数据插入到 sybase 数据库中。第一步是通过传递数据库名称、用户和密码连接到数据库。我想传递主机名和应用程序名来连接函数,但我认为我不能传递参数。下面是我正在使用的功能。

conn=sybpydb.connect(servername=os.environ["SERVERNAME"],user=os.environ["USER"],password=os.environ["PASSWORD"])

同样,我编写了一个使用 ctlib 的 perl 脚本,我可以传递 appname 和主机名。下面是我在 perl 脚本中使用的函数。

**return Sybase::CTlib->new($user, $pswd, $srvr, $script, { CON_PROPS => { 'CS_HOSTNAME' => hostname}});**

我的问题是..我们在python中也有类似的..我也可以选择其他选择。如果有人知道,请告诉我

标签: pythonsybaseconnecthostname

解决方案


您可以尝试重组您KWARGS并确保变量名称存在于env. 试试这种格式KWARGS

conn = sybase.connect(user='usr', password='pass', servername='serv')

而不是你的

conn=sybpydb.connect(servername=os.environ["SERVERNAME"],user=os.environ["USER"],password=os.environ["PASSWORD"])

如果不成功,您能否澄清以下几点,因为这将有助于定位错误 - 如果可能,最好添加一些错误跟踪。

但我不认为我不能传递参数。下面是我正在使用的功能。


推荐阅读