You need to enable JavaScript to run this app. Kedro使用pandas.SQLTableDataSet访问SQL Server表提示不存在如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Kedro使用pandas.SQLTableDataSet访问SQL Server表提示不存在如何解决?

你遇到的问题核心是pandas.SQLTableDataSet和pandas.SQLQueryDataSet的底层实现逻辑不同:SQLQueryDataSet直接执行你写的原生SQL语句,所以写全库全路径的表名可以正常识别;但SQLTableDataSet底层调用的是pandas的read_sql_table/to_sql方法,不支持把库名、schema直接拼在table_name参数里,需要单独配置对应参数,正确配置方式如下:

  1. 单独添加schema参数指定 schema 名称,不要拼在table_name中
  2. 如果你的数据库方言支持(比如PostgreSQL、Snowflake、BigQuery等),需要指定数据库名的话单独加catalog参数
  3. 也可以直接在数据库连接凭证的连接串里指定默认库和默认schema,比如PostgreSQL连接串可以加options=-c search_path=dwschema指定默认schema

正确的配置示例如下:

flp_test:
  type: pandas.SQLTableDataSet
  credentials: dw_dev_credentials
  table_name: flp_tst
  schema: dwschema # 单独指定schema
  catalog: dwdb # 按需添加,指定数据库名
  load_args:
    index_col: ['numero']
    columns: ['numero']
  save_args:
    if_exists: 'append'

另外也可以检查下凭证对应的数据库用户,是否有dwschema下flp_tst表的读写权限,部分数据库权限不足时也会抛出表不存在的报错。

内容的提问来源于stack exchange,提问作者filippo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 00:27:04