11

私は VS2010 Premium を使用しており、最近 SQL Server 2008R2 から 2012 Developer Edition にアップグレードしました。既存のデータベース プロジェクト (2008Rs を使用して作成) をデプロイしようとすると、次のエラーが発生します。

エラー {name}: ターゲット データベース スキーマ プロバイダーを特定できませんでした

さらに、VS で使用可能なプロジェクト テンプレートから 2012 用の新しいデータベース プロジェクトを作成するためのオプションが表示されません。これは、SQL Server Data Tools (2012 アップグレードの一部として正常にインストールされた) で使用できるはずです。

4

2 に答える 2

4

MS サイトの助けを借りて、これを解決することができました。

http://msdn.microsoft.com/en-us/data/gg427686から SSDT を (再) インストールし、再起動しました。次に、SSDT を開いて新しい SQL プロジェクトを作成します。最初は「Sql Server Database Project」の新しいプロジェクト テンプレートが見つかりませんでした。私にとっては、Installed Templates/Other Languages/Sql Server の下に表示されます。このテストの前にそこを見たかどうかわからないので (直感的な場所ではありません)、再インストールで問題が解決したかどうかはわかりません。しかし、これは私を動かしました。

于 2012-04-02T15:19:50.600 に答える
0

vsdbcmdを使用してデータベースの更新をデプロイすると、上記と同様のエラーが発生しました。

ターゲットデータベーススキーマプロバイダーを特定できませんでした。展開を続行できません。{パスと名前}.dbschema

{yourschema} .dbschemaという名前のソースからの外部要素への参照は、そのようなソースがロードされていないため、解決できませんでした。


私のコマンドの例:

/cs:"Data Source=DbServer; Integrated Security=True; Initial Catalog=Database"


トラブルシューティング:

  1. デプロイプログラムに必要なすべてのファイルをコピーしたことを確認します=> \Microsoft Visual Studio 10.0 \ VSSDB \ Deploy
  2. vsdbcmd=>統合セキュリティとユーザー名/パスワードを使用しているのとまったく同じ方法でsqlcmdを使用してDBサーバーに接続できることを確認します。
  3. 初期カタログを指定する場合は、接続文字列から削除し、/ p:YourDatabaseを使用します


接続のテストに役立つSQLコマンドのカップル:

sqlcmd.exe -S tcp:<server>,<port> -Q "select getdate()"
sqlcmd.exe -S tcp:<server>\<instance> -Q "select getdate()"


参照:
vsdbcmdコマンドラインリファレンス(MSDN)
sqlcmdコマンドラインリファレンス(MSDN)
http://sadomovalex.blogspot.co.uk/2011/10/vsdbcmd-fix-possible-reason-for-target.html(2011)

于 2012-08-23T11:03:17.620 に答える