尝试使用同义词从不寻常的 Access 数据库中导出数据

Posted

技术标签:

【中文标题】尝试使用同义词从不寻常的 Access 数据库中导出数据【英文标题】:Trying to Export Data from an unusal Access Database with Synonyms 【发布时间】:2010-04-30 18:40:52 【问题描述】:

我们使用一种名为 SalesOutlook 的产品,它是一种 CRM 系统。我需要使用 SSIS 或其他程序从中导出数据。

当您安装该程序时,它会在我的系统上创建一个名为 SalesOutlookReports 的 DSN。它使用 Microsoft Access 驱动程序 (*.mdb)。

当我尝试使用 Crystal Reports 查看它时,我会看到如下表格列表:

SchemaAccount Contacts
SchemaAccount Profiles
SchemaNotes

然后在它下面是另一个名为 Synonyms 的文件夹,它包含

Account Contacts
Account Profiles
Notes

如果我打开同义词,我会得到我的数据,如果我打开模式表,我会得到关于表的元数据。

我的问题是这样的。如何轻松地将我需要的表中的信息导入 SQL Server 进行操作?如何指定同义词而不是“表”以便导入数据?我找不到在 SQL Server 和 SSIS 中使用导入/导出向导的方法。也许我可以使用 SSMS 的链接服务器?

【问题讨论】:

从 SSIS 打开 DSN 时会看到什么? 我可以通过选择“新建连接”并选择 ODBC 来创建连接管理器。连接成功。我不确定要使用哪种数据流源来打开它。 但是,当我尝试从 Management Studio 中导入/导出向导时,我选择了 .Net Framework Provider for ODBC。我输入的 DSN 和驱动程序与在我的数据源管理器中找到的完全相同。我选择一个 SQL 数据库并输入我的凭据。当我选择“从一个或多个表或视图复制数据”时,我只看到第一组记录的列表,例如“SchemaNotes”。 【参考方案1】:

SSIS 数据流任务中的 ODBC 连接应该可以解决问题。放置一个数据流任务,然后您可以在其中选择一个 ADO.NET 数据源。您可以使用该数据源连接到 ODBC 连接。选择你的 MS Access 数据库,瞧你有一个来源。如果您需要调整数据类型并最终将其连接到 OLEDB 目标(即 SQL Server),则可以添加派生列。

【讨论】:

以上是关于尝试使用同义词从不寻常的 Access 数据库中导出数据的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中不寻常的 typedef 使用

使用 VBA 在 Access 中导入 txt 文件 - 日期格式问题 - 导入规范

在 Access 中导入 .sql 文件

按下按钮后在 MS Access 中导入 .DBF 文件,使用 VBA

SQL数据库项目问题中的同义词

如何在Python 中导入access 数据