sql-server - 尝试将 FoxPro DBF 文件导入 SQL Server

标签 sql-server foxpro dbf openrowset

正如标题所示,我正在尝试使用 openrowset 将 FoxPro dbf 文件导入到 sql server 中。首先,我尝试将 DBF 导出到 xls 文件,然后使用导入/导出向导导入。这通常工作得很好,但有一个字段有时会包含非常长的字符串,并且在从 dbf 导出到 xls 期间,该字符串被截断为 4096 个字符。

我发现了一个old post以及有关如何使用 openrowset 执行此操作的说明。

当我尝试第一个答案时:

select *
from openrowset('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;
SourceDB=\\path\;
SourceType=DBF',
'select * from TABLE.DBF')

我收到错误:

OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".

当我尝试第二个答案时:

select *
from openrowset('VFPOLEDB',
'\\Path\';'';'',
'select * from TABLE.DBF')

我收到错误:

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

我尝试使用 regsvr32 手动注册 OLE*.dll 文件,但只有其中一些有效。在 ole32、oleacc、oleaut32 和 oleprn 上,我收到一条成功消息。在 oleacchooks、oleaccrc、oledlg 和 oleres 上,我收到此错误:

The module "oleacchooks" was loaded but the
entry-point DllRegisterServer was not found.

Make sure that "oleacchooks" is a valid DLL or OCX file
and then try again

some之后investigation我尝试安装该组件,但是当我尝试安装 FoxPro ( found here ) 的 msi 文件时,出现此错误:

An error occurred while processing the last operation.
Error code 80110408 - Error occurred reading the application file

The event log may contain additional troubleshooting information.

所以,我正式迷失在这里了。有人对如何让 openrowset 工作有建议,或者有其他导入 dbf 文件的方法吗?

最佳答案

帕特,您可以使用 DBF Commander Pro 来完成此任务。

Download it ,安装,然后单击文件 -> 导出到 DBMS。在出现的窗口中单击“构建”按钮以构建连接字符串:选择“MS OLEDB Provider for SQL Server”,然后从列表中选择您的服务器,提供登录名和密码,选择一个数据库,单击“确定”:

enter image description here

在“导出到 DBMS”窗口中,选择要将源 DBF 文件导入到的目标表,然后单击“导出”。

有关将 DBF 导入和导出到数据库的更多信息,您可以找到 here .

附注该应用程序有功能齐全的 20 天免费试用期。

关于sql-server - 尝试将 FoxPro DBF 文件导入 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19727768/

相关文章:

mysql - 如何将 Visual Foxpro dbfs 与 MySQL 同步?

sql-server - SQL Server 和 Oracle 之间的差异 'User'

C# 从 .DBF 文件读取到数据表

c# - 使用无名参数执行存储过程

python - 将 .CSV 转换为 .DBF(dBASEIII) VFP 6.0,一切都变成了备忘录字段

sql-server - SQL Server 链接服务器查询内存不足

FoxPro fxp 文件

java - 读/写 xBASE (DBASE 3-5/DBF) 文件

sql - 在重复项中选择不同的连续行

sql - 添加前检查扩展属性描述是否已存在