28

これは私が見ている新しい現象です。私のデータベース名は次のとおりです。MySQLCLR、常にこの名前を付けるスクリプトがあります。

:setvar DatabaseName "MySQLCLR"

突然、sqlclrプロジェクトコードに変更を加えて再コンパイルするたびに、新しい出力スクリプトには、次のように_1が追加された名前が付けられます。

:setvar DatabaseName "MySQLCLR_1"

コードとその後のビルドに別の変更を加えると、次のようになります。

:setvar DatabaseName "MySQLCLR_1_1"

など...

なぜこれが起こっているのか考えていますか?

VS2012、Windows2008R2上のMSSQL2008R2

4

4 に答える 4

3

プロジェクトのプロパティに移動し、[デバッグ] に移動し、 [ターゲット接続文字列] セクションで [デフォルトに戻す] をクリックします。

SQL Server Data Tools - December 2012 updateをインストールする必要があるかもしれません。

于 2013-03-14T10:18:35.073 に答える
1

Visual Studioが、他のSQLプロジェクトファイルでもこの​​問題を引き起こすのを見てきました。私の場合、それはあなたが付けようとしている名前ですでにその場所にあるファイルだからです。そのディレクトリをチェックして、ファイルがすでに存在するかどうかを確認します。含まれている場合は削除してください。そうすれば、スクリプトは期待どおりに動作するはずです。

人々が悪いTFSマージを行い、生成されたファイルをローカルコンピューターにぶら下げたままにしておくと、この問題が発生しました。彼らがそれらを再生成しようとしたとき、ジェネレータはあなたが説明しているのと同様の方法ですべてのファイル名をインクリメントしました。

于 2013-03-08T15:02:07.940 に答える
1

古いデータベースを上書きせずに同じ場所にデータベースを保存しているためだと思いますが、データベースはビジュアルスタジオに接続されていますか? そうであれば、これを試してください:

ソリューション エクスプローラーの例でデータベースを検索します: "database.sdf"。データベースをクリックして、プロパティを調べます。おそらく、デフォルトの「コピーしない」などのプロパティがあるはずです。新しい場合はコピーするように変更してから再コンパイルしてください。問題はまだ存在しますか?

于 2013-03-08T14:02:42.910 に答える
0

私もこれに遭遇しました。変更する必要がある設定は、左側の Project Properties / DEBUG タブにあります。(データベース プロジェクトを右クリックし、プロパティを選択します。)そこに、ターゲット接続文字列が表示されます。そこには、嫌いな _1 (または _2) がデータベース名に追加されていることがわかります。これは、展開ステップの一部として生成される展開スクリプト (mydatabase.sql など) が正しいデータベース名を持つように、編集を行う必要がある場所です。

はい、この設定は、デバッグ タブにあるにもかかわらず、RELEASE バージョンにも影響します。図に行きます。

「デフォルトに戻す」ボタンを選択するだけで、追加された番号が消えます。緑色の > ボタンまたは f5 (リリース モードでも) を押すと、適切な名前のきれいなデプロイ スクリプトが作成されます。

于 2014-01-29T06:24:30.313 に答える