8

SQL Server 2012を使用してNhibernateの正しい接続文字列を作成するにはどうすればよいですか?

データベース名も書くべきですか?

エラー:「初期カタログ」が間違っているとエラーが発生します</ p>

NHibernateの接続文字列が間違っています(この接続文字列をサーバーからコピーします):

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MsSqlCeDialect</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlServerCeDriver</property>
    <property name="connection.connection_string">Data Source=RAFAL-KOMPUTER\MSSQLSERVER4;Initial Catalog=rafal;Integrated Security=True</property>
    <property name="show_sql">true</property>
  </session-factory>
</hibernate-configuration>

この部分から接続文字列をコピーします。 ここに画像の説明を入力してください

私もこれを試していますが、役に立ちません。

<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="dialect">NHibernate.Dialect.MsSql2008Dialect</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Data Source=RAFAL-KOMPUTER\MSSQLSERVER4;Initial Catalog=rafal;Integrated Security=True</property>

SQLServer2012の正しい構成方法がわかりません

4

2 に答える 2

7

ドライバーがCE(Compact Edition)用である間、最初のスニペットは機能しないはずです。

2つ目は見た目が良く、さらに機能しています。(詳細については、http://www.connectionstrings.com/sql-server-2012を参照してください)。最も重要なことは、プロバイダー名を正しく設定することです(https://stackoverflow.com/a/8150792/315850を確認してください)。この調整されたスニペットを試してください(すべてのパーツが正しく設定されていることを確認するためだけに)

<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<!-- to profit from features in 2012, use its dialect -->
<property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<!-- the simplest connection string -->
<property name="connection.connection_string">Data Source=RAFAL-KOMPUTER\MSSQLSERVER4;Database=rafal;Trusted_Connection=True;</property>

正しいドライバーが使用されていることを確認する必要があります(CEまたはその他のNHibernate.Driver.SqlClientDriver意味ではありませんSystem.Data.SqlClient

1)SQLサーバーと名前付きインスタンスが次のとおりであることを再確認しますRAFAL-KOMPUTER\MSSQLSERVER4。2)データベース名が次のとおりですrafal。3)ログインにアクセス権があります。これは機能する必要があります。

于 2013-02-24T05:48:49.693 に答える
0

SqlServerCeDriver:をSqlClientDriver以下のように置き換えてください:

交換 :<property name="connection.driver_class">NHibernate.Driver.SqlServerCeDriver</property>

に:<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>

于 2016-06-24T14:10:11.973 に答える