首页 > 解决方案 > odbc.ini 中驱动程序路径中的环境变量

问题描述

环境变量可以是 odbc.ini 文件中指定的驱动程序路径的一部分吗?如下所示。

[SYB] 驱动程序 = ${DRIVER_PATH}/libsybdrvodb.so

odbc 驱动程序安装路径因环境而异,我不想硬编码需要维护多个 odbc.ini 文件的绝对路径。

标签: odbcpyodbc

解决方案


我从未见过做过类似操作的 odbc.ini 文件。但是,您可以使用环境变量来帮助构建传递给 pyodbc 的(无 DSN)连接字符串,例如,

conn_str = (
    f"DRIVER={os.getenv('MSODBCSQL_NAME')};"
    r"SERVER=.\SQLEXPRESS;"
    "DATABASE=myDb;"
    "Trusted_Connection=yes"
)
print(conn_str)
# DRIVER=SQL Server Native Client 11.0;SERVER=.\SQLEXPRESS;DATABASE=myDb;Trusted_Connection=yes

推荐阅读