1

オフィスでは、Visual Studio 2008Team Foundation Serverをバージョン管理システムとして使用しています。

私たちが開発している製品は、基本的に Teradata SQL スクリプトとストアド プロシージャであり、自動化されたスケジューラを介して組織のTeradataデータベースで実行するために展開されます。

私たちが抱えている問題:

欠陥を修正したり変更を提供したりする必要があるときはいつでも、コードをチェックアウトし、それを別のツールにコピーして変更を加え、問題がなければ TFS にチェックインします。すべてを Visual Studio で行うのは素晴らしいことですが、最初に見つけなければならない解決策がいくつかあります。

  1. SQL 構文の強調表示
  2. SQL スクリプトを実行する機能 ( Teradata の .NET Data Providerはその仕事をしますか?)
  3. パラメータ置換

確かに、構文の強調表示と SQL の実行は何らかの方法で実行できますが、Visual Studio がこのようなことを行っていると聞いたことがないため、パラメーターの置換がブロッカーになるのではないかと特に心配しています。

パラメータ置換の使用方法:

パラメーター置換の場合、データベース名 (またはそのための任意のテキスト) にパラメーターを使用する機能が必要です。これにより、SQL を実行すると、Visual Studio は基本的にコード内のパラメーターを、データ ソースに必要なものに置き換えます。開発環境、テスト環境、本番環境のいずれであっても、私たちは接続しています。

たとえば、次のクエリがあるとします。

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

Visual Studio からそれを実行するときは、パラメーターの置換を行う必要があるため、舞台裏で、実際にデータベース サーバーに送信されるのは次のとおりです。

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 ファイルの例は次のとおりです。

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

Visual Studioでこのようなことをできるようになる方向を誰かに教えてもらいたいです。

4

1 に答える 1

0

説明するすべてのタスクは、構文の強化も含めてVisual Studio AddInパッケージを作成することで実行できますが、簡単なタスクではありません。とにかくここから始めてみてください:http://msdn.microsoft.com/en-us/library/bb166533.aspx。基本的にはVSを拡張することでエブリシングを行うことができるので、パラメーターの置き換えも簡単です。さらに、ターゲットデータベースに機能する.NETプロバイダーがある場合は、最終的にクエリを実行する方が簡単なタスクになるはずです。

于 2011-02-05T07:13:56.527 に答える