我有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”返回错误 无法为链接服务器初始化OLE DB提供程序“MSDASQL”的数据源对象“(null)”
我不喜欢使用像DBF转换器或类似工具这样的外部软件。
此时我已安装位于http://www.microsoft.com/en-us/download/details.aspx?id=13255的AccessDatabaseEngine_X64文件,因为之前的推荐没有成功。
提前致谢。
答案 0 :(得分:0)
您是否可以访问Visual FoxPro?如果是这样,您可以通过工具的默认菜单 - >向导 - >升迁。
首先,进入控制面板,管理工具。在那下面是ODBC数据源(应该是32位版本)。进入,然后转到“系统DSN”选项卡,然后单击右侧的“添加”按钮。然后,系统将提示您“命名”连接。对于笑话,像“UpsizeMyData”。然后,它将提示您通过连接信息到您尝试连接的数据库,用户/密码进行连接等。浏览并创建ODBC连接信息,并确保最后的“测试连接”成功。
完成后,进入VFP。从上面的菜单步骤,它将打开一个用于传输数据库的对话窗口。它将提示您要升迁的数据库...通过“获取文件”对话框进行选择。之后,它将提示您连接信息,应列出您刚才创建的ODBC连接。选择它,然后选择“下一步”。然后它会提示您输入SQL密码以启动连接。
连接后,它将查看您的数据库并查看表格。您将有一个所有可用表格的并排选择器对话框,您可以选择要升级的那些...您可以执行一个,多个或全部,然后单击“下一步”。
下一个对话框将显示您选择的每个表,并允许您在向上推送到SQL时确认从VFP表到相应列数据类型的数据类型。你可以尝试让默认值去尝试。点击“下一步”。
最后,它会询问您要升级到哪个数据库。您可以选择一个现有的数据库,或者添加一个新数据库(可能是您第一次选择看看情况如何)。