You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Access Text Driver:查询时移除伪表名称中的扩展名

解决Microsoft Access Text Driver伪表名称带扩展名的问题

1. 配置驱动实现无扩展名表名查询

Access Text Driver默认要求查询时指定文件扩展名,但可以通过在临时目录中创建Schema.ini配置文件来映射无扩展名的表名到实际文件。

比如你有一个table.csv文件,想要用SELECT * FROM table查询,只需在临时目录下新建Schema.ini,添加以下内容:

[table.csv]
TableName=table
Format=Delimited(,)
  • TableName字段定义了驱动识别的伪表名称(无扩展名)
  • Format需匹配你的文件分隔格式(逗号分隔就写Delimited(,),制表符则是Delimited(\t))
  • 每个需要映射的文件都要在Schema.ini中添加对应的配置段

2. 使用无扩展名的分隔文件

可以使用无扩展名的文本文件,关键是通过Schema.ini告诉驱动如何识别这些文件:

  1. 将临时文件重命名为无扩展名形式(比如table而非table.csv)
  2. 在临时目录的Schema.ini中添加:
[table]
Format=Delimited(,)
  1. 连接字符串可保留原Extensions参数,或直接移除,驱动会通过Schema.ini识别文件格式

另外,若想让驱动自动识别无扩展名文件,也可尝试将连接字符串的Extensions参数改为:

Driver={Microsoft Access Text Driver (*.txt, *.csv)};DBQ=U:\path\to\Temp\directory;Extensions="asc,csv,tab,txt,";

(末尾添加逗号,允许空扩展名)

其他可行思路

  • 动态生成Schema.ini:在程序生成临时文件后,自动写入或更新Schema.ini的映射配置,适配不同文件名需求
  • 切换到OLEDB驱动:若业务允许,可改用ACE OLEDB Provider连接文本文件,连接字符串示例:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=U:\path\to\Temp\directory;Extended Properties="Text;HDR=Yes;FMT=Delimited(,)"

同样可配合Schema.ini实现无扩展名表名查询

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:35:17