Webmatrix.dataのDatabaseエンティティを使用してデータベース接続を作成していますが、接続文字列が好きではありません。 MVC ASP.netから実行しています。
私はそれをサーバー/データベースに変更しようとしましたが、それでも同じエラーが発生します。どこがいけないの?
using (var db = Database.OpenConnectionString(@"Data Source=MY-HP\Serv;Initial Catalog=MyDBSQL;User ID=sa;Password=password"))
{
var items = db.Query("SELECT * FROM TaskPriority");
}
例外の詳細:System.ArgumentException:サポートされていないキーワード: '初期カタログ'
ここを確認してください: Database.OpenConnectionString Method(String、String)
mSDNの例から、プロバイダー名を2番目のパラメーターとして指定してみます。
var connectionString = "Data Source=.\\SQLExpress;Initial Catalog=SmallBakery;Integrated Security=True";
var providerName = "System.Data.SqlClient";
var db = Database.OpenConnectionString(connectionString, providerName);
ARRRRHHHHHH !!!!! これは私がこれに遭遇した2番目の時間です、grrrh-時間を無駄にしました。
エラー:
サーバーが要求の処理中にエラーを検出しました。例外メッセージは 'キーワードはサポートされていません:'初期カタログ; MyDatabase;データソース 'です。'詳細については、サーバーログを参照してください。例外スタックトレースは:
スタックトレース:
system.Data.Common.DbConnectionOptions..ctor(String connectionString、Hashtable synonyms、Boolean useOdbcRules)でSystem.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable、String connectionString、Boolean buildChain、Hashtable synonyms、Boolean firstKey)でData.SqlClient.SqlConnectionString..ctor(String connectionString)at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString、DbConnectionOptions previous)at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key、DbConnectionPoolGroupOptions poolOptions&ConnectionOptions&DbConnectionOptions System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)at System.Data.SqlClient.SqlConnection..ctor(String connectionString、SqlCredential credential)のSystem.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key)
これは私の不完全な接続文字列でした:
<add name="Production" connectionString="Password=Secret;Persist Security Info=True;User ID=MyUserID;Initial Catalog;MyDatabase;Data Source=aquickborwnfoxjumpedover.us-west-2.rds.amazonaws.com,1433" providerName="System.Data.SqlClient" />
よさそうですね? [〜#〜]間違った[〜#〜]
最終的に私はここにセミコロンを見つけました:
初期カタログ; MyDatabase
それを修正するために、等号を使用しました:
初期カタログ= MyDatabase
正しい接続文字列:
<add name="ConnString" connectionString="Password=Secret;Persist Security Info=True;User ID=MyUserID;Initial Catalog=MyDatabase;Data Source=aquickborwnfoxjumpedover.us-west-2.rds.amazonaws.com,1433" providerName="System.Data.SqlClient" />
以下のコードを使用できます
設定ファイル:
<connectionStrings>
<add name="con" connectionString="Data Source=ServerName;Initial Catalog=master;Integrated Security=SSPI;" providerName="System.Data.SqlClient"></add>
</connectionStrings>
cshtmlfile:
var db = Database.Open("con");
var selecteddata = db.Query("select * from movie");
テンプレートソリューションを使用していたため、このエラーが発生しました。私には知られていないのは、テンプレートがsqliteのサポートのみをインストールしたことです。私はインストールする必要がありましたMicrosoft.EntityFrameworkCore.SqlServer
と私のコードの呼び出しをUseSqlite
からUseSqlServer
に変更します。
私は提案します:
接続文字列の形式、特に "および"を明確に確認できます。私の場合、これは: