0

我有 80 到 100 个 Fox Pro DBF 数据库文件,我想迁移到 MSSQL Server 2012 x64。

因为 DBF 数据库太多,我正在寻找一种自动/非手动方式将这些 DBF 文件中包含的所有数据移动到 MSSQL Server 数据库表中。每个 DBF 文件有一个单独的表。

我尝试了以下代码:

SELECT * 
FROM OPENROWSET('MSDASQL', 'Driver=Microsoft Visual FoxPro Driver;
SourceDB=F:\SomeDBFPath;
SourceType=DBF',
'SELECT  * FROM someDBFFile')

为了查看/探索一个 DBF 的数据,但出现以下错误消息:

链接服务器“(null)”的 OLE DB 提供程序“MSDASQL”返回错误。
无法为链接服务器“(null)”初始化 OLE DB 提供程序“MSDASQL”的数据源对象

我对使用 DBF 转换器或类似工具等外部软件不感兴趣。

由于之前的建议没有成功,此时我已经安装了位于http://www.microsoft.com/en-us/download/details.aspx?id=13255的 AccessDatabaseEngine_X64 文件。

提前致谢。

4

1 回答 1

0

您可以访问 Visual FoxPro 吗?如果是这样,您可以通过默认菜单工具 -> 向导 -> 升迁。

首先,进入控制面板,管理工具。下面是 ODBC 数据源(应该是 32 位版本)。进入该页面,然后转到“系统 DSN”选项卡,然后单击右侧的添加按钮。然后将提示您“命名”连接。对于笑容,像“UpsizeMyData”之类的东西。然后它会提示您连接到您尝试连接的数据库的连接信息、连接的用户/密码等。通过并创建 ODBC 连接信息并确保最后的“测试连接”成功。

完成后,进入 VFP。从上面的菜单步骤中,它将弹出一个用于传输数据库的对话窗口。它会提示您选择要升迁的数据库...通过“获取文件”对话框进行选择。之后,它会提示您连接信息,您刚刚在上面创建的 ODBC 连接应该会列出。选择它,然后选择“下一步”。然后它将提示您输入 SQL 密码以启动连接。

连接后,它将查看您的数据库并查看表。您将有一个所有可用表的并排选择器对话框,您可以选择要升迁的那些...您可以选择一个、多个或全部,然后单击“下一步”。

下一个对话框将向您显示您选择的每个表,并允许您确认从 VFP 表到推到 SQL 时对应的列数据类型的数据类型。您可以通过让默认值去尝试来尝试。点击下一步”。

最后,它会询问您要升迁到哪个数据库。你可以选择一个现有的数据库,或者添加一个新的(可能是你第一次看到事情进展的选择)。

于 2013-10-08T11:51:42.490 回答