JDBC-Verbindung zu SQL Server über Shared Memory

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: JDBC-Verbindung zu SQL Server über Shared Memory

Re: JDBC-Verbindung zu SQL Server über Shared Memory

von RobertG » Fr, 10.08.2012 16:46

Hallo Zachy,

ich habe noch einmal ein bisschen im Netz gesucht:
http://social.msdn.microsoft.com/Forums ... 92c868948e - sagt, dass es eigentlich mit den Defaulteinstellungen gehen müsste - ist dann aber ganz schnell wieder bei TCP/IP.
http://msdn.microsoft.com/en-us/library ... 00%29.aspx - beschreibt die einzelnen wichtigen Bestandteile des Kommandos.
Grundlage ist immer: jdbc:sqlserver://
alle anderen Elemente sind optional.

Vielleicht kannst Du Dich durch geschicktes Weglassen rantasten? Und all das nur, weil die Subformulare (anderer Thread) nicht so laufen wie gewohnt ...

Gruß

Robert

Re: JDBC-Verbindung zu SQL Server über Shared Memory

von zachy » Fr, 10.08.2012 15:16

RobertG hat geschrieben: Probiere vielleicht einmal:
jdbc:sqlserver:direct//Datenbankname
Hi Robert,

leider brachte auch dies nur die gleiche Fehlermeldung wie im meinem obersten Beitrag angegeben.

jTDS kenne ich nicht, muss mich dahingehend erst mal schlau machen.

Vielen Dank erst mal. Ich melde mich, sobald ich etwas herausgefunden habe!

Gruß
zachy

Re: JDBC-Verbindung zu SQL Server über Shared Memory

von RobertG » Fr, 10.08.2012 12:31

Hallo Zachy,

"localhost" wird sicher intern umgesetzt zur IP 127.0.0.1 - schließlich ist das die Standardnummer, mit der sich der Rechner selbst findet. Sobald Du also den Begriff "localhost" verwendest wird das eine TCP/IP-Verbindung.

Ich sehe mal nach, ob ich irgendwas zu "Shared Memory" finde. Auf meinem Linux-System ist so etwas allerdings völlig unüblich - da läuft beständig TCP/IP, auch für die Datenbanken.

Probiere vielleicht einmal:
jdbc:sqlserver:direct//Datenbankname

Die Verbindung zum "Shared Memory" konnte zumindest ein etwas älterer Treiber von MS nicht herstellen.

Und dann habe ich noch diesen Thread gefunden. Vielleicht ist jTDS etwas für Dich?
http://www.tech-archive.net/Archive/SQL ... /0668.html

Gruß

Robert

JDBC-Verbindung zu SQL Server über Shared Memory

von zachy » Fr, 10.08.2012 10:15

Hallo Community,

eigentlich gehört dies zu meinem Beitrag Fehlermeldung "Ungültiger Descriptor-Index" viewtopic.php?f=8&t=54459&p=207217#p207217, da es aber ein eigenes Thema ist, mache ich auch einen eigenen Thread daraus. Vielleicht hilft es ja dem ein oder anderen, der das gleiche Problem hat, und nach der Lösung sucht.

Ich möchte die OOBase-Datei mit dem SQL Server 2008 R2 mittels JDBC verbinden. Eine Anleitung von Microsoft zu dem Thema findet ihr unter folgender Adresse:
http://msdn.microsoft.com/de-de/library/ms378526.aspx

Bei mir liegt nun folgende Konstellation vor: OOBase, der SQL Server und das SQL Server Management Studio liegen auf dem selbenRechner. Deshalb ist TCP/IP als Verbindungsprotokoll im SQL Server deaktiviert. Stattdessen wird das Protokoll Shared Memory verwendet.

Jetzt geht es darum, wie die Datenquellen-URL definiert werden muss. Folgendermaßen bin ich vorgegangen:

Neue Datenbank >> Verbindung zu einer bestehenden Datenbank herstellen >> JDBC

Die allgemeine Schreibweise der Datenbank-URL soll so aussehen:
jdbc:<Protokollname>:<Zusatzinformation>

wobei Zusatzinformationen in der Regel aus der qualifizierten URL zur Datenbank, also dem Rechnernamen, dem Port sowie dem Datenbanknamen bestehen.

Zitat: Thomas Krumbein: Datenbanken mit OpenOffice.org 2.Bonn, 1. Auflage 2006, Seite 89
Da TCP/IP wie eingangs erwähnt wurde deaktiviert ist, muss das Protokoll Shared Memory genutzt werden. Die korrekte Syntax müsste dann eigentlich folgendermaßen aussehen:

jdbc:sqlserver://localhost/Datenbankname

Dabei erhalte ich jedoch folgende Fehlermeldung:
SQL-Status: 08S01

Fehler beim Herstellen der TCP/IP-Verbindung mit dem Host 'localhost/Datenbankname', Port 1433. Fehler: 'null. Überprüfen Sie die Verbindungseigenschaften. Stellen Sie sicher, dass eine SQL Server-Instanz auf dem Host ausgeführt wird und am Port TCP/IP-Verbindungen akzeptiert. Vergewissern Sie sich, dass am Port keine TCP-Verbindungen durch eine Firewall blockiert werden.'.
Seltsam, ich habe doch gar keinen Port angegeben? Übrigens, wenn ich diese Schreibweise verwende jdbc:lpc://localhost/Datenbankname sagt er mir lediglich, dass keine Verbindung hergestellt werden konnte.

Wie gehe ich hier am besten vor? Kennt jemand die richtige Schreibweise der Datenbank-URL?

Nach oben