如何使用Polars读取SQL数据库?解决connection_uri参数错误
使用Polars读取SQL数据库的正确方式
你遇到的错误是因为Polars的read_database()函数并不支持connection_uri这个参数,正确的参数名为connection,下面是两种可行的解决方法:
方法1:直接传入连接字符串给connection参数
Polars允许直接将数据库连接字符串传递给connection参数,内部会自动创建SQLAlchemy引擎。修改后的代码如下:
import polars as pl # 替换为实际的数据库信息 server = "your_server" user = "your_user" password = "your_password" database = "your_database" # MSSQL连接字符串需指定ODBC驱动,此处以常用的Driver 17为例 conn_str = f"mssql+pyodbc://{user}:{password}@{server}/{database}?driver=ODBC+Driver+17+for+SQL+Server&encrypt=true" query = "SELECT * FROM [dbo].[my_table]" df = pl.read_database(query=query, connection=conn_str)
方法2:手动创建SQLAlchemy引擎
如果需要更灵活的连接配置,可以手动创建SQLAlchemy引擎,再传递给connection参数:
import polars as pl from sqlalchemy import create_engine # 替换为实际的数据库信息 server = "your_server" user = "your_user" password = "your_password" database = "your_database" conn_str = f"mssql+pyodbc://{user}:{password}@{server}/{database}?driver=ODBC+Driver+17+for+SQL+Server&encrypt=true" engine = create_engine(conn_str) query = "SELECT * FROM [dbo].[my_table]" df = pl.read_database(query=query, connection=engine)
必要依赖安装
确保你已安装所需的依赖包:
pip install polars sqlalchemy pyodbc
内容的提问来源于stack exchange,提问作者jacques
相关产品推荐
相关产品推荐

