2016-11-11 12 views
0

저는 MS Access에서 수백 개의 테이블과 쿼리가 있고 SQL Server에서 여러 테이블이있는 회사에서 일하고 있습니다. 두 데이터베이스의 결과를 결합해야하는 경우가 있습니다.Access 및 SQL 데이터베이스를 사용하여 쿼리 작성

ODBC connection을 사용하여 SQL 테이블을 MS Access에 연결하여 처리하려고하면 결과가 매우 느려져 클라이언트가 불만을 제기하게됩니다. 그래서 여기 이외의 ODBC 연결 속성 이외에 내가 무엇을 찾고있다;

  • 시각적으로 끌어와 테이블을 놓아 Sql DBAccess DB를 사용하여 쿼리를 만들 수 있다는.
  • 이러한 쿼리를 저장하고 하위 쿼리 (다른 쿼리 쿼리)를 사용할 수 있다는
  • C# .NET을 사용하여 다시 실행 할 수 있다는

응용 프로그램 또는 API의 어떤 종류가있는 경우 내 질문은 (유료 또는 무급)이 모든 조건을 지원합니까? 아니면 그런 것을 만들 수 있습니까?

+3

SQL Server Management Studio가이 모든 작업을 수행합니다. 그러나 SQL 서버 테이블을 액세스 테이블과 조인하여 쿼리를 실행하는 것은 좋은 생각이 아니며 항상 느려질 것입니다. SQL Server의 임시 테이블에 액세스 테이블 데이터를 업로드하고 거기에서 참여해야합니다. –

+0

@KieranQuinn SQL Server Management Studio는 자체 쿼리 작성기에서 MS Access 데이터베이스의 모든 테이블을 가져올 수 있습니까? 그건 그렇고 항상 느리지는 않습니다. 우리는 매우 빠르게 실행되는 두 DB의 C# 응용 프로그램 내에 데이터를 결합하여 특정 쿼리를 작성했습니다. 쿼리 작성 및 저장 만하면됩니다. – 0014

+0

먼저 Access에서 SSMS 데이터베이스로 테이블을 가져와야 할 수 있습니다. vba를 사용하여 레코드 세트를 임시 테이블로 가져온 다음 조인을 수행 할 수 있습니다. C# app에서 두 데이터 집합을 모두 내리고 거기에 합류하면 Access에 가입하는 것보다 상대적으로 효율적이지만 확실히 똑같은 것은 아닙니다. 대형 Access 테이블을 다른 큰 테이블과 결합하면 ** 항상 느려집니다 **. –

답변

1

SQL Server Management Studio는이 모든 작업을 수행합니다. 그러나 SQL 서버 테이블을 액세스 테이블과 조인하여 쿼리를 실행하는 것은 좋은 생각이 아니며 항상 느려질 것입니다. 액세스 테이블 데이터를 SQL Server의 임시 테이블에 업로드하고 거기에서 조인해야합니다.

vba를 사용하여 레코드 세트를 임시 테이블로 가져온 다음 조인을 수행 할 수 있습니다. C# app에서 두 데이터 집합을 모두 내리고 거기에 합류하면 Access에 가입하는 것보다 상대적으로 효율적이지만 확실히 똑같은 것은 아닙니다. 대형 Access 테이블을 다른 큰 테이블과 결합하면 속도가 느려집니다.

+0

SQL Server Management Studio는이 모든 것을 수행합니다. 그러나 SQL의 임시 테이블에 내 데이터를 업로드해야하는 이유가 없습니다. 내 테이블은 새로운 레코드로 계속 성장하고 있으며이 쿼리를 사용해야 할 때마다 당신이 제안하는 것은 수백만 개의 레코드가있는 임시 테이블을 다시 작성하고 생성 된 테이블을 쿼리해야합니다. 이 방법이 단순히 연결된 테이블을 쿼리하는 것보다 빠르지는 않습니다. – 0014

+0

여전히 액세스를 사용할 수 있지만 VBA를 사용하여 액세스 테이블을 쿼리 할 SQL 서버에서 임시 테이블 (테이블 #tableName ..... 만들기)에 업로드 테이블을 업로드 할 수 있습니다. 그런 다음 SQL Server에 대해 SQL 쿼리를 실행하고 SQL 테이블과 임시 테이블을 조인 할 수 있습니다. 임시 테이블은 액세스 권한이 열려있는 동안에 만 SQL Server 데이터베이스에 존재합니다. 일단 닫으면 테이블이 사라집니다. 말이 돼? –