【问题标题】:Building Queries Using Access and Sql Database使用 Access 和 Sql 数据库构建查询
【发布时间】:2016-11-11 15:55:26
【问题描述】:

我在一家公司工作,我们在 MS Access 中有数百个表和查询,在 SQL Server 中有几个表。有时我们需要合并来自两个数据库的结果。

当我们尝试通过使用ODBC connection 将我们的 SQL 表链接到 MS Access 来执行此操作时,结果返回速度非常慢,导致我们的客户抱怨。因此,除了非 ODBC 连接属性之外,这是我要寻找的;

  • 能够通过拖放表格直观地使用Sql DBAccess DB 构建查询。
  • 能够保存这些查询并使用 C# 重新运行它们
  • 能够使用子查询(在另一个查询中查询)

我的问题是,是否有任何类型的应用程序或 API(付费或非付费)支持所有这些条款?或者有没有可能造出这样的东西?

【问题讨论】:

  • SQL Server Management Studio 完成了这一切。但是通过尝试将 SQL Server 表与访问表连接来运行查询并不是一个好主意,而且总是很慢。您需要将访问表数据上传到 SQL Server 中的临时表并从那里加入
  • @KieranQuinn SQL Server Management Studio 能否将 MS Access 数据库中的所有表放入其自己的查询构建器中?顺便说一句,它不可能是always 慢。我们通过在一个运行速度非常快的两个数据库的 C# 应用程序中组合数据来构建一个特定的查询。我们需要做的就是轻松构建和保存查询。
  • 可以,但需要先将Access中的表导入SSMS数据库。您可以使用 vba 将记录集导入临时表,然后进行连接。如果您在 C# 应用程序中绘制两个数据集并在那里加入,那么是的,这将比加入 Access 相对更有效,但肯定不是一回事。将大型 Access 表与另一个大型链接表连接总是会很慢。
  • @KieranQuinn 你是对的,在得到该领域专家的帮助后,我们能够使用 SQL Server Management Studio 完成所有列出的要求。如果您提供它作为答案,我会选择它。

标签: c# sql-server ms-access database-connection query-builder


【解决方案1】:

SQL Server Management Studio 完成了这一切。但是通过尝试将 SQL Server 表与访问表连接来运行查询并不是一个好主意,而且总是很慢。您需要将访问表数据上传到 SQL Server 中的临时表并从那里加入。

您可以使用 vba 将记录集导入临时表,然后进行连接。如果您在 C# 应用程序中绘制两个数据集并在那里加入,那么是的,这将比加入 Access 相对更有效,但肯定不是一回事。将大型 Access 表与另一个大型链接表联接总是很慢。

【讨论】:

  • SQL Server Management Studio 确实做到了这一切,但我不明白为什么要将我的数据上传到 SQL 中的临时表。我的表随着新记录不断增长,您的建议是每次我需要使用此查询时,我应该重新创建一个包含数百万条记录的临时表,并在创建的表中进行查询。我不明白这比简单地查询链接表要快。
  • 您仍然可以使用访问权限,但请考虑使用 VBA 将您的访问权限表上传到您要查询的 SQL 服务器上的临时表(创建表#tableName.....)。然后,您可以针对 SQL Server 运行 SQL 查询,并将临时表与 SQL Server 表连接起来。当您可以访问时,临时表将仅存在于 SQL Server 数据库中。一旦你关闭它,表格就会消失。这有意义吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
相关资源
最近更新 更多