web-dev-qa-db-ja.com

接続文字列-サポートされていないキーワード: '初期カタログ'

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:サポートされていないキーワード: '初期カタログ'

12
Doomsknight

ここを確認してください: 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);
17
Davide Piras

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" />

13
Jeremy Thompson

以下のコードを使用できます

設定ファイル:

   <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");
5
user2384449

テンプレートソリューションを使用していたため、このエラーが発生しました。私には知られていないのは、テンプレートがsqliteのサポートのみをインストールしたことです。私はインストールする必要がありましたMicrosoft.EntityFrameworkCore.SqlServerと私のコードの呼び出しをUseSqliteからUseSqlServerに変更します。

1
Helzgate

私は提案します:


  1. 接続文字列の形式、特に "および"を明確に確認できます。私の場合、これは:


  1. EFで再度dbを生成してみてください。
0
Tien Tran