我编写了一个 Python 脚本,它连接到我们的内部系统以提取数据以及它插入到 Sybase 数据库中的数据。第一步是通过传递数据库名称、用户和密码来连接到数据库。我想将主机名和应用程序名传递给连接函数,但我认为我无法传递参数。下面是我正在使用的功能。
conn=sybpydb.connect(servername=os.environ["SERVERNAME"],user=os.environ["USER"],password=os.environ["PASSWORD"])
同样,我编写了一个使用 ctlib 的 Perl 脚本。我在哪里可以传递应用程序名称和主机名?下面是我在 Perl 脚本中使用的函数。
**return Sybase::CTlib->new($user, $pswd, $srvr, $script, { CON_PROPS => { 'CS_HOSTNAME' => hostname}});**
我的问题是:我们在 Python 中是否也有类似的功能?我也可以接受任何其他选择。如果有人知道请告诉我。
在 Python 中,你可以使用 pyodbc 库连接到 Sybase 数据库,并传递应用程序名称和主机名作为连接属性。下面是一个示例:
pyodbc
import pyodbc conn_str = ( "DRIVER={Adaptive Server Enterprise};" f"SERVER={os.environ['SERVERNAME']};" f"DATABASE={database_name};" f"UID={os.environ['USER']};" f"PWD={os.environ['PASSWORD']};" "APP=YourAppName;" "HOST=YourHostName" ) conn = pyodbc.connect(conn_str)
在上面的示例中,APP 属性用于设置应用程序名称,HOST 属性用于设置主机名。你可以根据你的需要修改这些值。
APP
HOST
请确保已经安装了 pyodbc 库,并且已经正确配置了 Sybase ODBC 驱动程序。你可以在这里找到有关 pyodbc 的更多信息:https://github.com/mkleehammer/pyodbc
如果你使用的是不同的 Sybase Python 客户端库,例如 python-sybase,你需要查阅该库的文档以了解如何设置应用程序名称和主机名属性。
python-sybase