要使用Python读取YAML配置文件来连接到Microsoft SQL Server(MSSQL),你可以使用pyyaml库来解析YAML文件,然后使用pyodbc库来建立数据库连接。以下是一个简单的示例:

首先,确保你已经安装了pyyamlpyodbc库。如果没有,可以通过以下命令安装:


bash

pip install pyyaml pyodbc

接下来,假设你的YAML配置文件(例如mssql_config.yaml)如下:


yaml

database:
  drivername: mssql+pyodbc
  host: localhost
  port: 1433
  username: your_username
  password: your_password
  database: your_database
  connection_options:
    trusted_connection: yes
    driver: ODBC Driver 17 for SQL Server

然后,你可以使用以下Python代码来读取配置并建立连接:


python

import yaml
import pyodbc

# 读取YAML配置文件
with open('mssql_config.yaml', 'r') as f:
    config = yaml.safe_load(f)

# 从配置中提取数据库连接信息
driver = config['database']['connection_options']['driver']
server = config['database']['host']
port = config['database']['port']
database = config['database']['database']
username = config['database']['username']
password = config['database']['password']
trusted_connection = config['database']['connection_options']['trusted_connection']

# 构建DSN连接字符串
dsn = f'DRIVER={{{driver}}};SERVER={server},{port};DATABASE={database};UID={username};PWD={password};Trusted_Connection={trusted_connection}'

# 创建数据库连接
cnxn = pyodbc.connect(dsn)

# 创建游标
cursor = cnxn.cursor()

# 执行SQL查询
cursor.execute("SELECT * FROM YourTableName")

# 获取结果
rows = cursor.fetchall()

# 打印结果
for row in rows:
    print(row)

# 关闭游标和连接
cursor.close()
cnxn.close()

请注意,你需要根据实际的数据库名称、用户名、密码、驱动器版本(ODBC Driver)以及你要查询的表名进行替换。在某些情况下,你可能还需要安装特定的ODBC驱动,例如ODBC Driver 17 for SQL Server,这取决于你的环境。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐