0

早上好我的朋友们:

我在 SQL Server 中使用这段代码来导入或读取文本文件。我正在使用 Office 2013 Professional(64 位)运行 64 位计算机。一切正常,那是因为我还有 Microsoft Access Database Engine 2010 64。

select *
from openrowset('MSDASQL'
               ,'Driver={Microsoft Access Text Driver (*.txt, *.csv)}'
               ,'select * from C:\MY_FOLDER\Databases\MY_FILES\mytext_file.txt')

问题是,我开始在另一台具有 Office 32 的计算机上工作,但是这台计算机也是 64 位计算机。现在此代码将无法工作,因为我无法安装 Microsoft Access Database Engine 2010 64 并安装了 32 位办公软件。我需要先卸载 32 位并重新安装为 64 位。

我没有 Office 软件来删除/安装 32 office。

还有其他选择吗?

我尝试创建一个格式文件,但我的文本文件是不可预测的,因为它是第三方的,格式总是中断,似乎找不到错误在哪里。我不控制这个文件的质量。

我也尝试了此页面上的大部分内容,但没有运气:

http://bradsruminations.blogspot.in/2011/01/so-you-want-to-read-csv-files-huh.html

这是一个更新:

我使用了 BULK INSERT:但是我在插入的数据中得到了双引号,我也没有得到 NULLS,而是双引号。

代码:

USE myDatabase;
GO
BULK INSERT my_schema.my_table
   FROM 'C:\MY_FOLDER\Databases\MY_FILES\mytext_file.txt'
   WITH (
      DATAFILETYPE = 'CHAR',
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '0x0a',
      FIRSTROW=2, 
      KEEPNULLS
   );
GO
4

0 回答 0