2013-02-23 8 views
8

Wie schreibt man korrekte Verbindungszeichenfolge für Nhibernate mit SQL Server 2012?Falsche Verbindungszeichenfolge NHibernate 3.3

Sollte ich auch Datenbanknamen schreiben?

Fehler: Ich erhalte Fehler mit falschem „Anfangskatalog“

Falsche Verbindungszeichenfolge für NHibernate (ich diese Verbindungszeichenfolge von meinem Server kopieren):

<?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> 

Ich kopiere Verbindungszeichenfolge aus diesem Teil : enter image description here

Ich versuche das auch, aber hilft nicht.

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

Ich weiß nicht, wie richtig configure für SQL Server 2012

Antwort

7

Der erste Schnipsel nicht funktionieren sollte, während der Fahrer für CE (Compact Edition) ist.

Die zweite sieht besser aus, und noch mehr funktioniert es für mich. (mehr dazu hier http://www.connectionstrings.com/sql-server-2012). Das Wichtigste ist, dass der Name des Providers richtig eingestellt ist (hier klicken: https://stackoverflow.com/a/8150792/315850). Versuchen Sie, diese angepasste Schnipsel (nur um sicherzugehen, dass alle Teile richtig eingestellt sind)

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

Wir müssen sicher sein, dass richtige Treiber verwendet wird (nicht CE oder andere dann NHibernate.Driver.SqlClientDriver was bedeutet System.Data.SqlClient)

Doppel überprüfen sie, ob 1) SQL Server und benannte Instanz ist: RAFAL-KOMPUTER\MSSQLSERVER4 und 2) die Datenbankname ist: rafal und 3) Ihre Login-Zugriffsrechte besitzt, um es, muss diese Arbeit

+0

Jetzt habe ich diesen Fehler -> Ein netzwerkbezogene oder instanzspezifischer Fehler beim Herstellen einer Verbindung zu SQL Server. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden. (Provider: Shared Memory Provider, Fehler: 40 - Konnte keine Verbindung zu SQL Server herstellen) –

+0

Wie ich schon sagte, mit Ihren zweiten Einstellungen konnte ich es ausführen! Das Problem ist also woanders. Vielleicht läuft der Browser Service nicht, vielleicht ist TCP nicht aktiviert .... Andere Wörter. Die Konfiguration von NHibernate ist jetzt korrekt (würde ich sagen) und das Problem ist woanders. Ich schlage vor, versuchen Sie hier auf SO die "A network related ...." zu suchen. Sehr bald sollten Sie einige Hinweise bekommen –

+0

http://stackoverflow.com/questions/1391503/a-network-related-or-instance-specific -error-accepted-while-connection-a-conne –

0

nur ersetzen: SqlServerCeDriver von SqlClientDriver wie folgt:

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

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

Verwandte Themen