尝试使用同义词从不寻常的 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 数据库中导出数据的主要内容,如果未能解决你的问题,请参考以下文章
使用 VBA 在 Access 中导入 txt 文件 - 日期格式问题 - 导入规范