Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 通过Openrowset和Microsoft.ACE.OLEDB.12.0从csv导入(到不同的列中)_Sql Server 2005_Sql Server 2008_Csv_64 Bit_Openrowset - Fatal编程技术网

Sql server 2005 通过Openrowset和Microsoft.ACE.OLEDB.12.0从csv导入(到不同的列中)

Sql server 2005 通过Openrowset和Microsoft.ACE.OLEDB.12.0从csv导入(到不同的列中),sql-server-2005,sql-server-2008,csv,64-bit,openrowset,Sql Server 2005,Sql Server 2008,Csv,64 Bit,Openrowset,我想澄清如何将数据从.csv导入到包含3列的表中(请参见下面的CR Ranking.csv)。我的问题是: select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\Work\;HDR=Yes;', 'SELECT * FROM [CR Ranking.csv]'); 将结果输出到onecoulmn: header: Category;INfo;Rank row 1: Category 1;Info;1 r

我想澄清如何将数据从.csv导入到包含3列的表中(请参见下面的CR Ranking.csv)。我的问题是:

 select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\Work\;HDR=Yes;', 
 'SELECT * FROM [CR Ranking.csv]');
将结果输出到onecoulmn:

header: Category;INfo;Rank
row 1: Category 1;Info;1
row 2: Category 2;INfo2;2
row 3: Category 3;INfo3;3
是否可以通过Openrowset将.csv中的数据拆分为3列? 我想我错过了Openrowset params的一些东西,也许这很简单

是的:我正在使用Office 2010的64位ODBC驱动程序来获取.csv、.txt等的驱动程序。。。 这就是为什么提供程序是:“Microsoft.ACE.OLEDB.12.0”,这就是为什么此连接字符串似乎不起作用:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\';Extended Properties="text; HDR=NO; FMT=Delimited";
CR Ranking.csv:

Category;INfo;Rank
Category 1;Info;1
Category 2;INfo2;2
Category 3;Info3;3
UPD 1: 是否可以不使用格式化文件


UPD2:我通过格式化文件制作——很简单。抱歉打扰了。

我知道这是一篇旧帖子,但我想我还是会回复的

我没有尝试过使用ACE,但我发现有几篇帖子说下面这样的东西会有用。请注意自定义分隔(;)设置

select top 50 * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=c:\temp\captell;HDR=Yes;FORMAT=Delimited(;)', 'SELECT * FROM [DASDGIGS0013046591395.TXT]')

已确认此选项适用于Excel 2010 x64和SQL Server Express 2008 R2。从OPENROWSET中选择*('Microsoft.ACE.OLEDB.12.0','Text;HDR=YES;FMT=Delimited;Database=C:\Data\;“,'SELECT*FROM[table.csv]'))
FORMAT=Delimited(;)
无法从分号分隔的文件中读取,尽管这将从逗号分隔的文件中读取晚安,我已经为此绞尽脑汁了一段时间!我的问题通过[filename.txt]中的“[”括号解决了-我得到了许多OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”“用于链接服务器类型的错误。+1,谢谢!我一直在尝试将一个简单的Jet csv连接字符串转换为ACE驱动程序。这是我在浏览了大约75个不同的网页后看到的第一个从64位ACE访问csv文件的工作示例。谢谢!显然我的主要缺陷是在数据库属性周围使用双引号(若引用则不起作用)使用列定义创建schema.ini文件