【问题标题】:Import of CSV files that do not have a txt OR csv extenion in SQL Server在 SQL Server 中导入没有 txt 或 csv 扩展名的 CSV 文件
【发布时间】:2014-07-17 14:07:38
【问题描述】:

我的目标是拥有一个我想通过 OPENROWSET 样式查询导入的文件(它来自另一个系统)。

Tee 查询如下所示:

select [NoName]  from openrowset('MSDASQL'
           ,'Driver={Microsoft Access Text Driver (*.txt, *.csv)};
                DefaultDir=c:\filedir'
           ,'select * from "file.lst"')

如果我将文件设为 .csv,它可以正常工作。但是,如果它没有 CSV 或 TXT 扩展名,则会引发以下错误并且似乎无法找到解决方案。

OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Text Driver] Cannot update. Database or object is read-only.".
Msg 7350, Level 16, State 2, Line 1
Cannot get the column information from OLE DB provider "MSDASQL" for linked server "(null)".

另外,(虽然我可能在别处可以找到),我需要有第一行 'BLANK' 以便它不会丢失数据(没有标题行)。有没有办法在没有 BULK 的情况下使用 OPENROWSET 基本上将所有行都包含为数据?

【问题讨论】:

    标签: sql csv openrowset


    【解决方案1】:

    这是一个security feature,只能在您的注册表中禁用。默认情况下只允许以下文件扩展名:txt, csv, tab, asc, htm, html

    访问 97:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\Engines\Text\DisabledExtensions
    

    Access 2000:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Text\DisabledExtensions
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-22
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      相关资源
      最近更新 更多