2012-01-18 15 views
1

Visual Studioデータベースプロジェクトを使用してデータベーススキーマを管理しました。私たちが望むのは、InstallShieldで作成されている製品インストーラの一部としてのデータベース配備の.sql出力です。Visual StudioのSQLデプロイメントスクリプトをWindowsインストーラで使用する方法

ただし、SQLスクリプトをInstallShieldプロジェクトに追加してインストーラを実行すると、インストーラはスクリプトの実行に失敗します。 :setvar(s)について不平を言っているOLEDBエラーが発生しますが、SQLスクリプトを手動で編集して修正することはできますが、これは長期的な解決策ではありません。

+1

'::あなたのSQLのサンプルがなければ、やって正確に何を言うのが、見てみることは困難ですsetvar'は、OLE DBが理解ものではありません。これらは 'sqlcmd'の指示です。 –

答えて

-2

ガベージアウトのガベージ。 InstallShieldはスクリプトを読み取ってOLEDB接続に対して実行します。 On Error Abort、On Error Goto Next Statement、On Error Goto Next Scriptのいずれかを教えてください。それ以外はそれが何であるかです。 SQLに問題がある場合は、修正する必要があります。

InstallShieldは、SQLの検索と置換処理を実行できます。

Using InstallScript Text Substitution to Dynamically Replace Strings in SQL Scripts

+0

この正解に私がどのように否定的な反応を見せているのか面白いです。実際にはSQLが壊れやすいときにインストーラを責めようとしたことは、私が長年にわたって知っていたすべてのDBAのようなものです。現実には、InstallShieldはアンマウントされたOLEDB接続を使用しており、生成するSQLはそのコンテキストで動作する必要があります。 –

+0

件名に関する古い記事:http://blog.deploymentengineering.com/2008/10/rfc-sql-scripts-are-almost-declared.html –

関連する問題