オフィスでは、Visual Studio 2008とTeam Foundation Serverをバージョン管理システムとして使用しています。
私たちが開発している製品は、基本的に Teradata SQL スクリプトとストアド プロシージャであり、自動化されたスケジューラを介して組織のTeradataデータベースで実行するために展開されます。
私たちが抱えている問題:
欠陥を修正したり変更を提供したりする必要があるときはいつでも、コードをチェックアウトし、それを別のツールにコピーして変更を加え、問題がなければ TFS にチェックインします。すべてを Visual Studio で行うのは素晴らしいことですが、最初に見つけなければならない解決策がいくつかあります。
- SQL 構文の強調表示
- SQL スクリプトを実行する機能 ( Teradata の .NET Data Providerはその仕事をしますか?)
- パラメータ置換
確かに、構文の強調表示と 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でこのようなことをできるようになる方向を誰かに教えてもらいたいです。