2009-12-18 88 views
0

我想从.csv文件中提取数据。因为它说我不能在64位机器上使用OPENROWSET:OLE DB提供程序“MSDASQL”尚未注册

Msg 7403, Level 16, State 1, Line 1 
The OLE DB provider "MSDASQL" has not been registered. 

,并没有在链接服务器没有MSDASQL入门 - >提供商的SQL Server 2005的SSMS以同样的方式第32位的人有。

可有人建议的类似方法从.csv文件中提取数据?

+0

也就是道道通很抱歉。 – JonathanWolfson 2009-12-18 20:25:00

+0

你可以安装64位软件包吗? – gbn 2009-12-18 20:32:36

+0

不是没有测试,等待等等。我可以想象一些简单和简单的事情,即将csv文件内容提取到临时表是可行的,而不需要执行SQL函数以外的任何操作。我讨厌在我的任务中涉及基础设施工作,安装工作,远程桌面工作以及任何非计算机编程。 – JonathanWolfson 2009-12-18 20:37:13

回答

1

这是如何使用OPENROWSET从64位计算机上的.csv文件中提取数据。您可以通过一个32位的电脑,这里被称为LinkedServer32Bit铁路,通过OPENQUERY

SELECT * FROM OPENQUERY 
(
    LinkedServer32Bit, 
    'Select * FROM OPENROWSET 
    (
     ''MSDASQL'', 
     ''Driver={Microsoft Text Driver (*.txt; *.csv)}; 
     DefaultDir=C:\z\;'', 
     ''SELECT y FROM x.csv'' 
    )' 
) 
+0

修复您的环境会不会更简单? – gbn 2009-12-21 17:11:12

+0

不,因为它涉及超出SQL编程范围的人员。 – JonathanWolfson 2009-12-24 20:07:41

+0

根据http://www.carlprothman.net/Default.aspx?tabid=87#OLEDBProviderForODBCDatabases,提供的OLE DB被Microsoft认为已过时。 – Fionnuala 2011-02-10 10:07:03

0

都是服务器64位?

你让你安装64-Bit OLEDB Provider for ODBC (MSDASQL)。我们确实让我们的链接服务器工作(非SQL Server)。 And more info here

如果不是64位,那么它可能是一个操作系统损坏,因为它只是在32位Windows上有

编辑:

你有没有去查看,如果服务器是64位,或把破损的是,使用select @@version,或简单地根据个人的经验和知识,忽视了潜在的修复...?

相关问题