2011-02-05 3 views
1

사무실에서 우리는 Visual Studio 2008Team Foundation Server을 버전 제어 시스템으로 사용합니다.Visual Studio에서 SQL 쿼리를 실행하는 방법

우리가 개발중인 제품은 본질적으로 자동화 된 스케줄러를 통해 조직의 Teradata 데이터베이스에서 실행되도록 배포 된 Teradata SQL 스크립트 및 저장 프로 시저입니다.

문제 우리 유무 :

우리가 결함을 수정하거나 변경을 제공하는 데 필요한 때마다, 우리는 체크 아웃 코드를, 우리가 행복 다음 한 번, 우리 변경하려면 다른 도구에 복사 우리는 그것을 다시 TFS로 확인합니다. Visual Studio에서 모든 것을 할 화려한 것,하지만 몇 가지 솔루션은 우리가 처음 찾을 필요가있다 :

  1. SQL 구문 강조 (Teradata's .NET Data Provider 일을 할 것입니다?) SQL 스크립트 을 실행하는
  2. 능력을
  3. 매개 변수 대체

강조하고 SQL 실행이 어떻게 든 할 수 있습니다,하지만 난 비주얼 들어 본 적이없는 것처럼 매개 변수 대체가 차단 될 것이라는 점을 특히 걱정 확실히 구문 이런 식으로 일하는 스튜디오.

어떻게 우리가 매개 변수 대체를 사용 매개 변수 대체에 대한

, 우리는 그래서 우리는 SQL을 실행할 때, 우리의 데이터베이스 이름 매개 변수 (또는 그 문제에 대한 모든 텍스트)을 사용할 수있는 능력이 필요합니다 Visual Studio는 기본적으로 개발, 테스트 또는 프로덕션 환경에 관계없이 연결되어있는 데이터 소스에 필요한 모든 항목에 코드 내의 매개 변수를 대체합니다. 예를 들어

, 우리는 쿼리를 할 수 있습니다 :

SELECT Client_Id, First_Name, Last_Name 
FROM <<Client Database>>.Client_Names 

우리는 무대 뒤에서, 다음이 실제로 데이터베이스로 전송 무슨 그래서 비주얼 스튜디오에서, 우리는 그것을 매개 변수 대체를 할 필요가 있음을 실행하면 서버 : 같은 방법으로

SELECT Client_Id, First_Name, Last_Name 
FROM Client.Client_Names 

, 내가 할 경우 :

SELECT '<<Client Database>>' 

그것은을 반환 프로덕션 서버에 연결된 경우 'Client'의 결과

반면 개발 서버에 연결되어 있으면 'DevA_Client'을 반환합니다.

현재이 작업을 수행하는 데 사용하는 도구에는 CSV 파일 (예 : Prod-params.csv)에 정의 된 값이있는 매개 변수가 있습니다. 그런 다음 Prod-params.csv을 프로덕션 데이터 원본 연결에 연결하는 도구의 설정이 있습니다.이 CSV 파일이 어떻게 생겼는지의 예는 다음과 같습니다 누군가가 Visual Studio에서이 물건 중 하나를 수행 할 수있는 방향으로 날 지점 수 싶네요

<<Client Database>>,Client 
<<Order Database>>,Order 
<<SomeHistoricDate>>,CAST('1997-05-28' AS DATE) 

.

+0

Visual Studio의 ** 서버 탐색기 **를 통해 Teradata의 .NET Data Provider를 추가 할 수있는 것처럼 보입니다. [이 기사] (http://www.developer.com/db/article.php/3092741)는 나에게이 문제에 대한 도움을 주었다. – Turgs

+0

** 기존 ** Visual Studio 추가 기능 목록은 어디서 찾을 수 있습니까? – Turgs

답변

0

당신이 설명하는 모든 작업은 Visual Studio AddIn 패키지를 작성하여 수행 할 수 있습니다 (구문 higligthing). 그러나 사소한 작업은 아닙니다. 어쨌든 여기에서 시작하십시오 : http://msdn.microsoft.com/en-us/library/bb166533.aspx. 기본적으로 VS를 확장하여 에리스로 팅을 할 수 있으므로 매개 변수 교체가 쉬워야합니다. 또한 대상 db에 대해 작동하는 .NET 공급자가 있으면 결국 쿼리를 실행하는 것이 더 간단한 작업이어야합니다.