- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
MSSQL-Problem
Hallo,
auf einem lokalen Entwicklungssystem lรคuft eine MySQL-Datenbank. ich lege dort eine Datenbank und Tabellen an.
Danach gehe ich meine FS-Servereinstellungen und fรผge die Verbindung zu meiner lokalen Datenbank hinzu.
# localhost
jdbc.DRIVER=com.mysql.jdbc.Driver
jdbc.PASSWORD=fs4@localhost
jdbc.URL=jdbc:mysql://localhost:3306/testdb
jdbc.USER=fs4
jdbc.layerclass=de.espirit.or.impl.mysql.MySQLLayer
Verbindung testen ist erfolgreich. Dann gehe ich ein Projekt und aktiviere die Verbindung und aktiviere auch "Schreibgeschรผtzt" und "Kein Scheme-Sync", da ich nur lesend zugreifen mรถchte. รffne ich nun das Projekt und wรคhle "Schema aus Datenbank erzeugen" aus, werden mir alle Tabellen im Schema schon angezeigt und kann somit lesend darauf zugreifen.
Selbe Vorgehensweise nun auf einem Produktions-Server. Unterschied ist, dass dort MSSQL verwendet wird.
jdbc.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.PASSWORD=XXXXXX
jdbc.URL=jdbc:sqlserver://localhost:1433;databasename=XXXXX;selectMethod=cursor
jdbc.USER=XXXXX
jdbc.layerclass=de.espirit.or.impl.mssql.MSSQL2005Layer
Jedoch wird beim Anlegen des Schemas nichts angezeigt, scheinbar sind keine Tabellen auffindbar.
Erst dachte ich an ein Rechte-Problem. Aber ich habe hier eine php-Absatzvorlage erstellt, woch รผber php-Funktionen mit demselben User auf localhost zugreife und dort kann ich auf alles zugreifen.
Woran kรถnnte das liegen? Gibt es Einschrรคnkungen bei MSSQL? Liegt das an dem Treiber?
Ach ja, lokales Testsystem ist FS 4.2.468 und Produktivsystem ist FS 4.2.219
Kรถnnte es an der Version liegen?
Gruร
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wie erzeugen Sie denn die Tabellen in der Datenbank? Wahrscheinlich nicht mit FirstSpirit?
Sind in der MSSQL Primary- und Foreign-Keys definiert?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nein, nicht mit FirstSpirit, denn FS soll nur lesend darauf zugreifen, was mit MySQL auch sehr gut funktioniert. Foreign Keys gibt es hier nicht explizit und ich habe auch noch keine Primary Keys definiert, da ich erst die grundlegende Funktionalitรคt testen wollte. Sind diese Pflicht?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ja, Primary-Keys mรผssen meines Wissens vorhanden sein, damit der Import und Zugriff klappt.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hm, kann das nach Tests nicht bestรคtigen. Wir haben einen lokalen MSSQL-Server aufgesetzt und dort nun Tests durchgefรผhrt. Nach einigen erfolglosen Versuchen haben wir festgestellt, dass FirstSpirit bei MSSQL nicht den Datenbank-Namen erwartet, sondern den Schema-Namen. Und das funktioniert auch ohne Primary Keys. Doch auch das funktioniert nicht im Produktivsystem.
Wir kommen nun nicht mehr weiter. Wir haben lokal etwas mit den Rechten rumgespielt und besondere Rechte scheinen auch nicht benรถtigt zu werden. Kรถnnte es an der etwas รคlteren FS-Version liegen? Wir finden auch keine Logs bzgl. Datenbank-Abfragen auf FirstSpirit-Seite. Gibt es eine Mรถglichkeit, da an Logs heranzukommen? Sonst noch Ideen?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Also es funktioniert im Test mit 4.2.468 und beim Kunden mit 4.2.219 nicht?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ja, ich weiร allerdings nicht ob es an der FirstSpirit-Version liegt.
Vielleicht auch an irgendwelchen Datenbank-Einstellungen. Daher die Frage, wie die Datenbank bei MSSQL konfiguriert sein muss, sodass das funktioniert, bzw. ob es eine Mรถglichkeit das irgendwie zu debuggen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, Produktivserver ist nun upgedatet auf diesselbe Version und es geht immer noch nicht.
Fรผr mich klingt es immer mehr nach einem Bug und ich werde das mal an den Helpdesk weiterleiten.
Oder hat noch jemand eine Idee?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo,
beim Helpdesk kam noch kein Ticket an - haben Sie das Problem inzwischen gelรถst?
Wenn nicht, dann kรถnnte ich bei der Lรถsungssuche evtl. helfen.
Bei der MSSQL muss man den Parameter jdbc.SCHEMA mitangeben, ansonsten kann FS nicht wissen, welche Tabellen (aus welchem Schema) ausgegeben werden sollen. Abhรคngig von der Konfiguration der Datenbank (und des Users, der auf die DB zugreift) lautet der jdbc.SCHEMA Parameter gleich dem Usernamen oder aber "dbo".
Legen Sie einfach einen neuen Layer mit
-----------------------
dbc.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.PASSWORD=XXXXXX
jdbc.URL=jdbc:sqlserver://localhost:1433;databasename=XXXXX;selectMethod=cursor
jdbc.USER=XXXXX
jdbc.layerclass=de.espirit.or.impl.mssql.MSSQL2005Layer
jdbc.SCHEMA=dbo
oder
dbc.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.PASSWORD=XXXXXX
jdbc.URL=jdbc:sqlserver://localhost:1433;databasename=XXXXX;selectMethod=cursor
jdbc.USER=XXXXX
jdbc.layerclass=de.espirit.or.impl.mssql.MSSQL2005Layer
jdbc.SCHEMA={username}
-----------------------
und testen Sie, ob die Verbindung zur DB erfolgreich ist (prรผfen Sie ggf. den Schemanamen direkt in der DB!).
Wenn Sie dann baiserend auf diesem neuen Layer das Menรผ "Schema aus Datenbank erzeugen" aufrufen sollte das Problem nicht mehr auftauchen.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Es kam kein Ticket, da ich das Problem umgehen konnte, auch wenn ich es nicht lรถsen konnte.
Auf demselben DBMS war bereits eine DB fรผr FS eingerichtet, ich habe zu dieser konnektiert und dort hat es funktioniert, auch wenn ich keinen offensichtlichen Unterschied in der Konfiguration feststellen kann (auรer der Kollation, aber kann es wirklich daran liegen?).
Kurze Frage zu ihrem Hinweis: Warum muss ich in der Konfiguration bereits ein Schema angeben? Wenn ich in FirstSpirit ein DB-Schema anlege, dann soll dieser doch das entsprechende Schema in der DB matchen oder nicht?? Also sprich: Ich lege eine DB and und lege Tabellen unter Schema xyz an. Im FirstSpirit lege ich die DB-Verbindung an und verbinde auf diese DB. Ich verbinde das Projekt mit der DB und schalte auf "Schreibgeschรผtzt" und "Kein-Schema-Sync". Ich lege im Projekt ein DB-Schema namens xyz an. Nun sollte er doch die Tabellen laden, die diesem Schema xyz zugeordnet sind oder ist das nicht das normale Verhalten? Warum sollte ich also schon das Schema mit angeben? Ich habe es auch so hinbekommen, aber eben nur in der schon bestehenden DB, warum auch immer...

