Hallo zusammen,
Ich versuchem mich an meinem ersten eigenen Java/Hibernate Projekt. Dazu möchte ich die Datenbank Auf einen SQL 2005 Server bringen. Damit ich nicht auf unserem Produktiven SQL rumbasteln muss habe ich zum testen einen SQL Express auf einem älteren Server eingerichtet. Und weil ich Probleme hatte aus Eclipse eine Verbindung darauf zu bekommen, habe ich auch noch eine MySQL auf den Testserver installiert.
Jetzt zu meinem Problem.
Wenn ich meine Tabellen kreieren lasse und als Ziel die MySQL DB (Im geposteten File auskommentiert) angebe funktioniert das problemlos. Wenn ich aber das ganze dann auf dem SQL Express einspielen möchte bekomme ich nur noch Fehlermeldungen...
Wenn ich für MS SQL in der url als Pfad den Severnamen/Datenbanknamen eintrage(wie unter MySQL unten) bekomme ich TCP/IP error und kann keine Verbindung aufbauen. Gibt es da ne Möglichkeit auf das Datenbankschema zu verweisen? Dieses Problem scheint nur bei MS SQL zu sein, bei allen anderen DB Systemen die ich getestet haben scheint die Pfadangabe zu funktionieren.
Code:
<property name="hibernate.connection.url">
jdbc:sqlserver://MCRCHGR003
<!-- jdbc:mysql://MCRCHGR003/mc_hardwareinventar-->
</property>
Lasse ich den DBnamen im Pfad leer, kann er eine Verbinung aufbauen, scheitert aber dann natürlich beim bilden der Tabellen...
Das sqlijdbc.jar File ist in den Reference Libraries von meinem Projekt eingebunden.
Hier mal mein "hibernate.cfg.xml"
Code:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>
<hibernate-configuration>
<session-factory>
<!-- Konfiguration der Datenbankverbindung
Den benötigten Treiber laden -->
<property name="hibernate.connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
<!-- com.mysql.jdbc.Driver-->
</property>
<!-- Name und Pfad des Datenbank-Schemas -->
<property name="hibernate.connection.url">
jdbc:sqlserver://MCRCHGR003
<!-- jdbc:mysql://MCRCHGR003/mc_hardwareinventar-->
</property>
<!-- Name des Users der darauf zugreift -->
<property name="hibernate.connection.username">
sa
<!-- hibernate-->
</property>
<!-- Passwort des Users der darauf zugreift -->
<property name="hibernate.connection.password">
meinPw
<!-- hibernate-->
</property>
<!-- Konfiguration des Connection-Pools -->
<property name="c3p0.min_size">3</property>
<property name="c3p0.max_size">5</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.max_statements">50</property>
<property name="c3p0.idle_test_period">3000</property>
<!-- SQL-spezifische Setzungen -->
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
<!-- org.hibernate.dialect.MySQLDialect-->
</property>
<property name="show_sql">
true
</property>
<!-- Neuerzeugung des DB-Schemas beim Aufstarten -->
<property name="hibernate.hbm2ddl.auto">
create
</property>
<!-- =====================================
Benoetigte Mapping-Dateien
===================================== -->
<mapping
resource="ch/mc/netzwerkInventar/persistence/Printer.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Supplier.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Tray.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Traytype.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Basicpc.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Monitor.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/User.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Card.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Cardtype.hbm.xml" />
<mapping
resource="ch/mc/netzwerkInventar/persistence/Device.hbm.xml" />
</session-factory>
</hibernate-configuration>
Finde mit googeln leider keine Lösung, wäre cool wenn mir jemand helfen kann.
Danke schon mal und Gruss