2

最初に Entity Framework 5.0 コードを使用してデータベースを作成しています。このフレームワークは問題なく動作し、mysql のローカル インスタンスにデータベースを作成します。ただし、リモート サーバー上の SQL サーバーを指定しようとすると、多くの問題が発生します。接続文字列を変更し、以下のコードを DBContext コンストラクター (DBRisk) で使用して、リモート データベースを指すようにしました。

 public RiskDB()
 {
     this.Database.Connection.ConnectionString = 
         "Data Source=Data Source=217.111.222.194;Initial Catalogue=RiskDB;User ID=xxx;Password=yyy";
 }

私はstackoverflowに関するアドバイスに従いましたが、解決策はありませんでした

これはエラーです。SQL ce データベースをターゲットにしているようです。接続文字列が正しく構成されているため、これに対処して正しいリモート データベースに移行する方法がわかりません。データベースの権限は、データベースの作成に問題ありません

エラー

コンテキストが既存のデータベースを対象としているかどうかを確認しています...

System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.ArgumentException: キーワードがサポートされていません: '初期カタログ'。System.Data.Common.DbConnectionOptions.ParseInternal (Hashtable parsetable、String connectionString、Boolean buildChain、Hashtable シノニム、Boolean firstKey) で、呼び出しのターゲットによって例外がスローされました。

このエラーは、接続文字列が SQL Server 用に構成され、移行プロバイダーが SQLCE 用に構成されている場合に発生します。

4

1 に答える 1

1

で置き換え"Data Source=Data Source=217.111.222.194;てみてください"Data Source=217.111.222.194;

http://www.connectionstrings.com/sql-server-2012によると、接続文字列は次のようになります。

標準セキュリティの場合:
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;

CE デバイスからのトラステッド接続の場合:
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI; User ID=myDomain\myUsername;Password=myPassword;

于 2012-11-11T15:49:15.727 に答える