配置文件 - 通过 pyodbc 将 python 连接到 SQL 服务器

config file - connecting python to SQL Server via pyodbc

我真的很困惑,因为专门使用 pyodbc 编写了连接 python 到 SQL 服务器的配置文件。我写了一个 class 连接到数据库。然而,我的老板一直对我大喊大叫,连接应该在配置文件中,我正在努力了解如何做到这一点,甚至无法理解它。到目前为止,我的代码如下。如您所知,我是编码新手,所以有人可以帮助我理解配置文件的用途并帮助我完成该过程吗?

import pyodbc
import sqlalchemy as sa
import urllib
import pandas as pd


class SQL_Database:

    def __init__(self, database, driver='SQL Server', server='.\TEST_SERVER'):
        self.driver = driver
        self.server = server
        self.database = database

    def create_server_connection(self):
        connection = None
        try:
            connection = pyodbc.connect(f'Driver={self.driver};'
                                        f'Server={self.server};'
                                        f'Database={self.database};'
                                        'Trusted_Connection=yes;')
            print("MySQL Database connection successful")
        except pyodbc.Error as err:
            print("Connection failed")
        return connection


conn = SQL_Database(database='index_changes').create_server_connection()


这是从 json 文件加载值的示例。

  1. 创建一个名为 config.json 的配置文件。
{
"driver": "DriverName",
"server": "ServerName",
"database": "DatabaseName"
}
  1. 读入 class 中的配置参数。
import pyodbc
import json

class SQL_Database():

    def __init__(self):

        with open('path/to/config.json','r') as fh:
            config = json.load(fh)

        self.driver = config['driver']
        self.server = config['server']
        self.database = config['database']

        connection = pyodbc.connect(
        f'Driver={self.driver};'
        f'Server={self.server};'
        f'Database={self.database};'
        )

SQL_Database()