View Full Version : JVAGATE Verbindung zu eine MS SQL DB
Hallo zusammen,
ich habe einige exsterne DB's mit JVAGATE von Dieter Bender erfolgreich angebunden, aber neu ist jetzt eine MS SQLServer...und ich komme einfach nicht weiter... :(
Ich habe folgende Infos zu dem MS Server..
Hostname: 192.168.100.88
SQLServer: xxxmsga1
Datenbank: xxdb1
User und PWD sind auf dem MS SqlServer identisch zur AS400 eingerichtet, ODBC Zugriff aus MS damit funktioniert.
Auf der AS400 ist die RDB eingetragen:
Relationale Datenbank . . . . : SFBMSSQL
Ferner Standort:
Ferner Standort . . . . . . : *ARDPGM
Ferne Authentifizierungsmethode:
Treiber d. Anwendungsrequesters:
Programm . . . . . . . . . . : JDBCGATE
Bibliothek . . . . . . . . : JVAGATE
Schnittstellenstufe . . . . : 1
Text . . . . . . . . . . . . . : SfB MS Sql-Server sfbzsqlgp
Art der relationalen Datenbank : *REMOTE
Ich habe in der global.properties folgendes hinterlegt:
ard.driver.SFBMSSQL=com.microsoft.sqlserver.jdbc.S QLServerDriver
ard.url.SFBMSSQL=jdbc:jtds:xxxmsga1//192.168.100.88/Database=xxdb1;
Als Treiber nutze ich...
/jvagate/lib/mssql-jdbc-10.2.0.jre8.jar
Im 5250-Sql kriege ich den Fehler...
CONNECT TO SFBMSSQL USER SFBAS400 USING ''
Benutzer ist nicht für die relationale Datenbank berechtigt.
In JVAGATE den Fehler...
JDBCGATE: SQLCODE: -30060 SQLSTATE 08001 SFBMSSQL
ActivationGroup: 2
JDBCGATE: incorrect login information
JDBCGATE: SQLCODE: -596 SQLSTATE 01002 SFBMSSQL
Kann mir jemand helfen, ich kriege es nicht hin :=(
Danke im Voraus
Vg.
Hast du den Anmeldeuser auch im SQL-Server selber berechtigt?
SQL-Server Management Studio
1. => Security => Logins
2. => Databases => DBName <deinedb> => Security => Users => UserName <deinuser> => Membership</deinuser></deinedb>
Hast du den Anmeldeuser auch im SQL-Server selber berechtigt?
SQL-Server Management Studio
1. => Security => Logins
2. => Databases => DBName <deinedb> => Security => Users => UserName <deinuser> => Membership</deinuser></deinedb>
Gute Frage, thx.
Ich vermute ja, denn die Kollegen kommen ja mit MS OdbC drauf.
Aber ich frage das an.
Danke.
Vg.
Nun ja, bei MS-ODBC kann man "Trusted Authentication" wählen, was ja per Ardgate nicht funktioniert.
Groß-Kleinschreibung ist da ja schon relevant.
Du kannst aber auch beim SQL-Connect gezielt User und Kennwort für die Anmeldung angeben.
connect to rdbname user ich using kennwort
Das lässt sich auch via STRSQL oder ACS-SQL-Script ausprobieren.
... die URL passt nicht zu dem Driver!
entweder
ard.url.DBMSSQL=jdbc:sqlserver://.....
ard.driver.DBMSSQL=com.microsoft.sqlserver.jdbc.SQ LServerDriver
für den Microsoft Driver
oder
ard.url.DBMSSQL=jdbc:jtds:sqlserver://....
ard.driver.DBMSSQL=net.sourceforge.jtds.jdbc.Drive r
für den jtds Driver
wobei der jtds Driver meist die bessere Lösung darstellt.
Für den SQL Server ist da noch wichtig, dass SQL Autentication aktiviert ist und es gibt da noch diverse Release Abhängigkeiten.
D*B
Nun ja, bei MS-ODBC kann man "Trusted Authentication" wählen, was ja per Ardgate nicht funktioniert.
Groß-Kleinschreibung ist da ja schon relevant.
Du kannst aber auch beim SQL-Connect gezielt User und Kennwort für die Anmeldung angeben.
connect to rdbname user ich using kennwort
Das lässt sich auch via STRSQL oder ACS-SQL-Script ausprobieren.
Hallo,
ja, ich teste die Verbindungen zuerst immer 5250 SQL und SQuirrel, bevor
ich dann die Anwendung für den User programmiere.
Ich warte noch auf das Feedback der Kollegen vom MS SqlServer...
Danke.
Vg.
Vielen Dank.
Ich habe jetzt den jdts Treiber geladen und in jvagate hinterlegt.
jtds-1.3.1.jar
Leider bleibt der Fehler bestehen.
beim connect to in 5250 SQL gebe ich den User und Pw ein.
In den Properteis habe ich folgende Angaben...
ard.driver.DBMSSQL=net.sourceforge.jtds.jdbc.Drive r
ard.url.DBMSSQL=jdbc:jtds:mssqlgp//192.168.100.88/Database=Genesis_bmh;
Mich irritiert auch, dass in der Fehlermeldung keine Datenbank angegeben ist.
Benutzer ist nicht für die relationale Datenbank berechtigt.
Man sieht 2 Blanks zwischen "Datenbank" und "berechtigt"
Bin aber auch nicht sonderlich fit in Sachen jdbc und connect url.
Bitte um Info.
Danke im Voraus !
Vg.
... die URL passt nicht zu dem Driver!
entweder
ard.url.DBMSSQL=jdbc:sqlserver://.....
ard.driver.DBMSSQL=com.microsoft.sqlserver.jdbc.SQ LServerDriver
für den Microsoft Driver
oder
ard.url.DBMSSQL=jdbc:jtds:sqlserver://....
ard.driver.DBMSSQL=net.sourceforge.jtds.jdbc.Drive r
für den jtds Driver
wobei der jtds Driver meist die bessere Lösung darstellt.
Für den SQL Server ist da noch wichtig, dass SQL Autentication aktiviert ist und es gibt da noch diverse Release Abhängigkeiten.
D*B
Andreas_Prouza
23-11-23, 13:42
Hast du die Möglichkeit dir am PC einfach ein DB Client (z.B. DBeaver, den gibt's auch als ZIP und braucht keine Admin Rechte) herunterzuladen und dort ein Verbindung einzurichten und zu testen?
Der DB Client zeigt dir dann auch den Connection-String an den du dann einfach in die IBM i kopieren kannst.
Danke für den Hinweis.
Ich verwende immer SQuirreL SQL Client für Test's u.a., aber damit fange ich i.d.R. erst an, wenn die 5250 SQL Connection klappt.
Probiere ich mal aus.
Vg.
Hast du die Möglichkeit dir am PC einfach ein DB Client (z.B. DBeaver, den gibt's auch als ZIP und braucht keine Admin Rechte) herunterzuladen und dort ein Verbindung einzurichten und zu testen?
Der DB Client zeigt dir dann auch den Connection-String an den du dann einfach in die IBM i kopieren kannst.
... zur Fehleranalyse macht man folgendes:
- im Verzeichnis conf, in der Datei log4j.properties den Debug level einschalten indem man aus
#log4j.logger.de.bender_dv.ardgate=DEBUG den Knast am Anfang entfernt
- den Serverdienst neu starten
Jetzt wird in der neuesten log Datei, im Verzeichnis logs zu finden sein, was da schief geht.
Wenn man die Log Dateien vor Neustart löscht, wird eine neue angefangen, die man in Härtefällen auch an den freundlichen Autor der Software mailen kann.
D*B