turbodbc连接数据库方法模板

如果已经安装好 turbodbc,我们可以用它在 Jupyter Notebook 中连接数据库(比如 SQL Server、MySQL、PostgreSQL 等)。以下是一个通用的连接方法模板,可以根据自己的数据库类型和配置进行调整。


✅ 示例:使用 turbodbc 连接 SQL Server 的方法

python 复制代码
import turbodbc
import pandas as pd

def get_db_connection(driver='{ODBC Driver 17 for SQL Server}',
                      server='localhost',
                      database='your_database',
                      uid='your_username',
                      pwd='your_password'):
    """
    使用 turbodbc 创建数据库连接。
    
    参数:
    - driver: ODBC 驱动名称(可在 ODBC 数据源管理器中查看)
    - server: 数据库地址(如 localhost 或 IP)
    - database: 数据库名称
    - uid: 用户名
    - pwd: 密码
    
    返回:
    - turbodbc 连接对象
    """
    connection_string = (
        f"Driver={driver};"
        f"Server={server};"
        f"Database={database};"
        f"UID={uid};"
        f"PWD={pwd};"
        f"Trusted_Connection=no;"
    )
    return turbodbc.connect(connection_string=connection_string)


def query_to_df(sql, conn):
    """
    执行 SQL 并返回 DataFrame。
    
    参数:
    - sql: 查询语句
    - conn: turbodbc 连接对象
    
    返回:
    - pandas DataFrame
    """
    cursor = conn.cursor()
    cursor.execute(sql)
    return cursor.fetchallarrow().to_pandas()

🔍 示例调用:

ini 复制代码
conn = get_db_connection(
    driver='{ODBC Driver 17 for SQL Server}',
    server='127.0.0.1',
    database='MyDB',
    uid='sa',
    pwd='your_password'
)

df = query_to_df("SELECT TOP 10 * FROM my_table", conn)
df.head()

📌 注意事项:

  • 要确保你安装了 正确版本的 ODBC 驱动,如:

    • SQL Server: {ODBC Driver 17 for SQL Server}{ODBC Driver 18 for SQL Server}
    • MySQL: {MySQL ODBC 8.0 Unicode Driver}
    • PostgreSQL: {PostgreSQL Unicode(x64)}
  • 如果你使用的是 Windows 身份验证(即无需输入用户名密码),可将 Trusted_Connection=yes 并去掉 UIDPWD


相关推荐
笃行3502 小时前
从零开始:SpringBoot + MyBatis + KingbaseES 实现CRUD操作(超详细入门指南)
后端
该用户已不存在2 小时前
这几款Rust工具,开发体验直线上升
前端·后端·rust
用户8356290780512 小时前
C# 从 PDF 提取图片教程
后端·c#
L2ncE3 小时前
高并发场景数据与一致性的简单思考
java·后端·架构
水涵幽树3 小时前
MySQL 时间筛选避坑指南:为什么格式化字符串比较会出错?
数据库·后端·sql·mysql·database
ERP老兵_冷溪虎山3 小时前
从ASCII到Unicode:"国际正则"|"表达式"跨国界实战指南(附四大语言支持对比+中医HIS类比映射表)
后端·面试
HyggeBest3 小时前
Golang 并发原语 Sync Cond
后端·架构·go
老张聊数据集成3 小时前
数据建模怎么做?一文讲清数据建模全流程
后端
颜如玉4 小时前
Kernel bypass技术遥望
后端·性能优化·操作系统
一块plus4 小时前
创造 Solidity、提出 Web3 的他回来了!Gavin Wood 这次将带领波卡走向何处?
javascript·后端·面试