2012-03-02 10 views
0

ソリューションに.sqlファイルがあります。この.sqlファイルにはデータベースを作成するスクリプトがあり、この.sqlファイルの助けを借りて、実行時にデータベースを作成したいと考えています。私はC#で.sqlファイルを実行するために多くのスニペットを得ました。しかし、それらが私自身のソリューションに存在していれば、ソリューションはどこにでも置くことができます。はい、私はソリューションのパスを介してファイルのパスを取得し、それを実行することができますが、read somewhere that it is advisable。これは私が従わなければならないアプローチですか?申請書を発行していても、これを行うとうまくいくのでしょうか?ソリューションに存在する.sqlファイルを実行します。

答えて

0

あなたはSchemaScripts.sql内のすべてのSQLスクリプトの名前を入れてtypeof(SomeType).Assembly.GetManifestResourceStream("YourNamespace.FileName.sql")

+0

ok ...あなたの質問にはSomeTypeがありますか? NamespaceName.FileName.sqlでファイル名を見つけることができません。 – Sandy

+0

@rapsalands:アセンブリ内のすべての型。何? – SLaks

+0

私の例では、どのような型にするべきか分かりません。あなたは、例や関連リンクを手伝っていますか?お願いします – Sandy

0

を呼び出して、埋め込みリソースとしてコンパイルすることを設定する必要があります。このファイルには、以下のようなエントリがあります:

:r .\Tables\MyTable.sql 
:r .\StoredProcedures\My_SP.sql 

は、バッチファイルに次のコードを書き留めて、SchemaScripts.sqlファイルの同じ場所に保存します。

sqlcmd -b -E -S .\SQLEXPRESS -d DatabaseName -i .\SchemaScripts.sql 

は、バッチファイルを実行します。

関連する問題