我有一个使用 DBF 文件的应用程序,我需要将它们导入 SQL Server 2008。但是,我还需要在此过程中修改一些数据,并且一些列将被添加到表中,而其他列将被弃用。
到目前为止,我正在使用 DBF -> Access -> MS Migration Assistant -> SQL Server 2008。但我认为必须有更好的方法来处理它。我想远离迁移助手,因为它不允许您在导入数据时修改数据。
我有一个使用 DBF 文件的应用程序,我需要将它们导入 SQL Server 2008。但是,我还需要在此过程中修改一些数据,并且一些列将被添加到表中,而其他列将被弃用。
到目前为止,我正在使用 DBF -> Access -> MS Migration Assistant -> SQL Server 2008。但我认为必须有更好的方法来处理它。我想远离迁移助手,因为它不允许您在导入数据时修改数据。
通过使用此链接上的信息,我能够将 DBF 导入 SQL Server 2008 。
特别是我:
然后,我将目标设置为我的本地 sql 服务器,并在点击下一个时能够将文件夹中的每个 DBF 文件作为可能的表/视图来导入。单击它们会在指定的数据库中创建类似名称的表。
看来你不走运:-(
请参阅此注释:
注意:在 SQL Server 2005 中,SQL Server 导入和导出向导不支持从 dBASE 或其他 DBF 文件导入或导出。 要导入 DBF 文件,首先使用 Microsoft Access 或 Microsoft Excel 将 DBF 文件中的数据导入 Access 数据库或 Excel 电子表格。 然后,使用 SQL Server 导入和导出向导导入包含 DBF 文件数据的 Access 数据库或 Excel 电子表格。
Microsoft SQL Server 2005 联机丛书,选择数据源(导入和导出向导)
但也许这个其他 Stackoverflow 问题会有所帮助?
或者查看一些商业和/或共享软件工具来完成这项工作
由于您显然只是想将数据导入 SQL Server,因此我只使用 SQL Server 的Import and Export Data
,它将适用于您拥有 ODBC 驱动程序的任何数据源。
从 Books Online 看来,虽然导入/导出向导不允许您使用 .dbf 文件,但可以将 SSIS 配置为使用以下文件:
配置连接管理器以连接到 dBASE 或其他 DBF 文件 将新的 OLE DB 连接管理器添加到包中。有关详细信息,请参阅如何:在包中添加或删除连接管理器。
在 Connection Manager 对话框的 Connection 页上,选择 Native OLE DB\Microsoft Jet 4.0 OLE DB Provider 作为 Provider。
使用 DBF 文件时,文件夹代表数据库,单个 DBF 文件代表表。因此,数据库文件名文本框必须包含 DBF 文件所在文件夹的路径,并且不能包含文件名本身。您可以键入或粘贴文件夹路径,也可以使用“浏览”按钮选择您的 DBF 文件,然后从文件夹路径的末尾删除文件名。
在“连接管理器”对话框的“全部”页面上,根据需要输入 dBASE III、dBASE IV 或 dBASE 5.0 作为扩展属性的值。
单击测试连接以验证您输入的值。您应该会看到消息“测试连接成功”。单击确定关闭消息框。
单击确定以保存连接管理器的配置。
要在包的数据流中使用连接管理器,请选择一个 OLE DB 源或目标并将其配置为使用您通过上述步骤创建的连接管理器。