Mac OS X und JDBC - Irgendwas ist hier faul!

Status
Nicht offen für weitere Antworten.

Bibo1987

Mitglied
Hallo Entwicklerkollegen.

Ich entwickel noch nicht lange mit Java und habe täglich meine kleinen Probleme und bin hier immer auf sehr gute Antworten gestoßen.

Deshalb denke ich, das mir jemand mit meinen Problem weiterhelfen kann...

Folgendes:
Ich schreibe zur Zeit ein kleines Tool mit NetBeans unter Windows XP.
Diese Applikation soll später auch auf MAC laufen.

Bislang habe ich alles so Programmiert, das es unter Windows 100%ig läuft, und eigentlich AUCH auf MAC laufen sollte... Sprich mit OS unterscheidung...
So, jetzt lass ich das Programm auf dem MAC laufen.

Es kommt folgender Fehler:
Java:
MacBook-Pro:CumulusCheckInTool MatthiasThien$ java -jar Cumulus_Checkin_Tool.jar
09.12.2009 12:47:09 com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNUNG: Failed to load the sqljdbc_auth.dll
com.microsoft.sqlserver.jdbc.SQLServerException: Dieser Treiber ist nicht f?r integrierte Authentifizierung konfiguriert.
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2338)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:1929)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:1917)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1061)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
	at java.sql.DriverManager.getConnection(DriverManager.java:582)
	at java.sql.DriverManager.getConnection(DriverManager.java:207)
	at X.DataBaseInteraction.AlleProfile(DataBaseInteraction.java:235)
	at X.Form_Einchecken.ListeFuellen(Form_Einchecken.java:195)
	at X.Form_Einchecken.formWindowOpened(Form_Einchecken.java:149)
	at X.Form_Einchecken.access$000(Form_Einchecken.java:15)
	at X.Form_Einchecken$1.windowOpened(Form_Einchecken.java:57)
	at java.awt.AWTEventMulticaster.windowOpened(AWTEventMulticaster.java:322)
	at java.awt.Window.processWindowEvent(Window.java:1859)
	at javax.swing.JFrame.processWindowEvent(JFrame.java:279)
	at java.awt.Window.processEvent(Window.java:1820)
	at java.awt.Component.dispatchEventImpl(Component.java:4714)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4544)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
X steht natürlich für mein Package, Datenschutz, sry.

Unter Windows musste ich ja die genannte sqljdbc_auth.dll in das System integrieren.

Doch unter MAC, da denke ich das dieses so nicht möglich ist.

Seh ich das Richtig, das es an dem Treiber liegt, das die Authentifizierung fehl schlägt, und ich deswegen keine Verbindung zum SQL Server bekomme???

Wenn Code oder ähnliches benötigt wird, bin ich gerne Bereit alles zu Posten, was gebraucht wird.

Ich weiß ihr könnt mir helfen!
Dafür danke ich euch im Vorraus

Viele liebe Grüße
Der Bibo
 
M

maki

Gast
Ich nutzte nie den MS JDBC Treiber für den MS SQL Server, da jTDS viel besser funzt und da auch nicht istalliert werden muss, funzt sogar von Linux aus :)
 

Bibo1987

Mitglied
Hey maki!

Danke für die schnelle Antwort.

Wie schon gesagt, ich programmiere noch nicht so lange mit Java, und wir nutzen halt nur den MS SQL Server 2008.

Und der JDBC Treiber ist das erste was ich gefunden habe, was auch funktioniert hat.

Aber der JTDS Treiber lockt mich persönlich ja schon. Nicht nur wegen "OpenSource" sondern auch wegen

Being a type 4 driver, jTDS does not need any special installation. Just drop the jar file into your application's classpath and you're done.

Gut, ich werde mich mir mal den JTDS angucken...

Vielen Dank

Grüße
Bibo1987
 

bronks

Top Contributor
... Being a type 4 driver, jTDS does not need any special installation. Just drop the jar file into your application's classpath and you're done ...
Gerne würde ich Erfahren:
- Was für eine special installation beim MS Treiber nötig ist?
- Warum ich das Jar des MS Treibers nicht einfach into my application's classpath droppen kann?
- Was im Detail am jTDS besser ist?
 

Bibo1987

Mitglied
- Was für eine special installation beim MS Treiber nötig ist?

Man muss eine DLL Datei (irgendwie auth_jdbc.dll oder so ähnlich) in den system32 Ordner kopieren (installieren).

- Warum ich das Jar des MS Treibers nicht einfach into my application's classpath droppen kann?

Weil das muss man sowieso machen, aber dann fehlt halt noch die auth bla .dll und ohne diese DLL funktioniert der vorgang nicht.

- Was im Detail am jTDS besser ist?
[/QUOTE]

- Open Source
- Genau so einfach zu implementieren wie der JDBC (ich meine sogar etwas einfacher)

Und als Fazit:

Ich find den jTDS gut!
 
M

maki

Gast
Ich muss ehrlich sagen dass ich jTDS schon seit 2004 nutze, die damalie Alpha/Beta Version des Original MS Treibers hatte ganz schöne Probleme, k.A. ob es jetzt mit der 1.0 Version besser ist, aber wozu wechseln wenn jTDS funzt & erprobt ist? ;)
 

Bibo1987

Mitglied
Ich muss ehrlich sagen dass ich jTDS schon seit 2004 nutze, die damalie Alpha/Beta Version des Original MS Treibers hatte ganz schöne Probleme, k.A. ob es jetzt mit der 1.0 Version besser ist, aber wozu wechseln wenn jTDS funzt & erprobt ist? ;)

Ich bin ja jetzt von JDBC auf jTDS gewechselt und finde des gut...

Also JDBC hat bei mir keinerlei probleme verursacht, und hat auch alles funktioniert... Nur halt soll die App ja unter MAC laufen und da ist der JDBC Treiber sehr ungeeignet :)

MFG
 

bronks

Top Contributor
Ne, ne das stimmt so nicht. Je nach JRE braucht man bei der V2.0 nur die sqljdbc.jar bzw. sqljdbc4.jar. Die .dll ist nur nötig, wenn man die WinAuth verwenden möchte. Sollte es so sein, daß ein MAC keine WinAuth unterstützt, dann darfst Du diese entsprechend nicht parametrieren.
 

Bibo1987

Mitglied
Ne, ne das stimmt so nicht. Je nach JRE braucht man bei der V2.0 nur die sqljdbc.jar bzw. sqljdbc4.jar. Die .dll ist nur nötig, wenn man die WinAuth verwenden möchte. Sollte es so sein, daß ein MAC keine WinAuth unterstützt, dann darfst Du diese entsprechend nicht parametrieren.

Naja, ich hab einiges versucht, und erst nachdem die dll datei im system32 Ordner war, hat das funktioniert... also unter windows

und unter mac Funktioniert das mit den jTDS halt von erster sekunde an...

mfg
 

Bibo1987

Mitglied
Ja, natürlich :)

Also mit dem jTDS ist das so:

Java:
    private final String db_connect_string = "jdbc:jtds:sqlserver://meindbserver:1433/meineDatenbank";
    private final String db_userid = "user";
    private final String db_password = "spassword";

    dbCon = DriverManager.getConnection(db_connect_string, db_userid, db_password);

Und mit dem JDBC sieht das ganze so aus

Java:
    //Datenbankinformationen
    private final String dbDriverURL = "jdbc:sqlserver://";
    private final String dbPort ="1433";
    private final String dbServer = "meindbserver";
    private final String dbDataBase = "meineDatenbank";
    private final String dbAuthUser = "ususer";
    private final String dbAuthPass= "spassword";

    //Initialisierung der Connection
    private Connection dbCon = null;

    public final String getConnection()
    {
        return (this.dbDriverURL+this.dbServer+":"+this.dbPort+";"+
                "databaseName="+this.dbDataBase+";" +
                "user="+this.dbAuthUser+";" +
                "password="+this.dbAuthPass+";"+
                "integratedSecurity=true;");
    }

[/Java]

und dann halt immer dbCon = DriverManager.getConnection(getConnection());

Wie gesagt, ich bin kein Profi :P
 

bronks

Top Contributor
Sorry wenn ich es geahnt bzw. gewußt hätte, dann hätte ich es Dir schon früher geschrieben ... ...

Das Problem liegt in der Zeile 19 und 20 in o.g. Code. Sobald Du ";integratedSecurity=true" in der URL stehen hast, dann erzwingst Du WinAuth, welche wie ich jetzt weiß auf einem MAC nicht exisitiert. Sonst funktioniert MS-Treiber auch auf Linux, aber auch nur ohne integratedSecurity.
 

Bibo1987

Mitglied
Vielen Dank!

;)

Ich habs gerade ausprobiert, und das funktioniert tatsächlich auch mit dem JDBC Treiber und mit integratetSecurity = false...

MfG
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand JDBC Client Spring: Pool läuft voll Datenbankprogrammierung 6
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
G JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
K JDBC Buch kaufen? Datenbankprogrammierung 3
K Hibernate vs. JDBC Datenbankprogrammierung 4
K JDBC Driver not found Datenbankprogrammierung 10
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
S ich brauche tipps für JDBC Datenbankprogrammierung 4
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
S Applet stucks at SQL Connection (jTDS JDBC) Datenbankprogrammierung 15
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
c_sidi90 JDBC Oracle Connection schlägt fehl Datenbankprogrammierung 2
J jdbc-dataSource in Klassen nutzen Datenbankprogrammierung 2
H Rechnen in Datenbanken - JDBC Mittel der Wahl? Datenbankprogrammierung 32
K MySQL JDBC - Access Datenbank - unbekannter TabellenName Datenbankprogrammierung 4
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2
I Master/Detail Tabellen mit JDBC und Swing Datenbankprogrammierung 10
S MSSQL JDBC "Driver class not found" Datenbankprogrammierung 9
E Datenbankverbindung mit Oracle JDBC und Eclipse Plugin Quantum db Datenbankprogrammierung 2
ruutaiokwu jdbc connection als singleton Datenbankprogrammierung 11
J MySQL Löschen von Rows mit JDBC Datenbankprogrammierung 9
G JDBC Exception Datenbankprogrammierung 3
Screen Ich suche eine SQLDatenbank ohne JDBC-Treiber Datenbankprogrammierung 12
F Fehlerhandling bei JDBC Datenbankprogrammierung 9
T JDBC und Arrays Datenbankprogrammierung 7

Ähnliche Java Themen

Neue Themen


Oben