Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Connectionstring für Zugriff auf MSSQL-Server (https://www.delphipraxis.net/166652-connectionstring-fuer-zugriff-auf-mssql-server.html)

MPirnstill 23. Feb 2012 11:39

Datenbank: MS-SQLServer • Version: 2000 • Zugriff über: SQLDirect

Connectionstring für Zugriff auf MSSQL-Server
 
Hallo,

ich versuche gerade bei mir die BDE zu ersetzen und habe dafür SQLDirect zur Verfügung. Nur leider weiß, ich nicht wie diesen Connectionstring aufbauen muss, bzw. was da rein gehört.

Bekomme immer:
Zitat:

"DB-Library error 10004: Keine Verbindung möglich: SQL Server nicht verfügbar oder nicht vorhanden. Keine Verbindung möglich: SQL Server nicht vorhanden, oder Netzwerkzugriff verweigert.
Net-Lib erro 53: ConnectionOpen (Connect()).
Operating-system error: ConnectionOpen (Connect()).
Habe versucht:
Zitat:

Provider=SQLOLEDB; Data Soucre=MyDBServername; Initial Catalog=MyDBName; User ID=MyUser; Password=MyPassword
Ob das mit dem Provider richtig ist, weiß ich aber nicht, das ist nur ausprobiert.
Hab auch mal SQLMSS32 probiert, aber da kam der gleiche Fehler.

Per BDE konnte ich auf den SQL-Server zugreifen.
Kann mir da jemand helfen?

generic 23. Feb 2012 12:33

AW: Connectionstring für Zugriff auf MSSQL-Server
 
ruf mal bitte per cmd das Programm "cliconfg" auf.

ist dort eine ntwdblib zu sehen?
nein - Treiber nicht richtig installiert/vorhanden

sind dort die richtigen Protokolle an?
nein - die genutzten Protokolle aktivieren

evtl. hast du einen Dns-Fehler, welcher den Hostnamen nicht auflösen kann.

MPirnstill 23. Feb 2012 13:01

AW: Connectionstring für Zugriff auf MSSQL-Server
 
Danke erstmal für deine Antwort.

Also im Clientconfigurationsprogramm wird die NTWDBLIB.DLL unter DB-Bibliotheksoptionen angezeigt.

Aktivierte Protokolle sind:
TCP/IP
Named Pipes

Wie kann ich erfahren, welche Protokolle ich benötige?

Das sind die Einstellungen wie sie auch schon genutzt wurden, als der Zugriff noch über BDE erfolgte. Da das funktioniert hat, kann man doch einen DNS-Fehler ausschließen, oder?

Hab ich denn den Provider richtig, oder was muss ich da angeben?

P.S.: Die Konfiguration ist nur ein Mini-Netz. Ein Rechner als SQL-Server und ein Rechner zur Entwicklung mit D7.
Ich hab das noch nie mit so einem Connectionstring gemacht, bisher immer über BDE.
Achso, ist vielleicht auch noch wichtig. Der MSSQL-Server 2000 ist eine Developer-version.

generic 23. Feb 2012 20:42

AW: Connectionstring für Zugriff auf MSSQL-Server
 
Data Source ist übrigens bei dir im Beispiel falsch geschrieben! Das hast du gesehen?

Wenn der DB-Server auf der gleichen Maschine laufen würde, dann könntest du im "Data Source=" mit "(local)" via NamedPipes zugreifen.
Alternative Schreibweise ist ".".

Alles was ein IP-Namen hat wie z.B. localhost, rechnername oder ip greift via TCP/IP zu.

MPirnstill 24. Feb 2012 07:17

AW: Connectionstring für Zugriff auf MSSQL-Server
 
Oh, danke für den Hinweis, aber der Schreibfehler bei Data Source war nur ein Übertragungsfehler hierher in den Thread.

Und immerhin versteh ich jetzt wenigsten ein klein wenig wie das mit den Protokollen gemeint ist.

Ich bekomme jetzt allerdings zusätzlich, wenn ich das Projekt schließe (Alles schließen) eine Zugriffsverletzung. Zum Vergleich, bei einem Demo-Projekt, tritt diese Zugriffverletzung nicht auf. Was kann das sein?

MPirnstill 27. Feb 2012 16:34

AW: Connectionstring für Zugriff auf MSSQL-Server
 
Falls irgendwann noch jemand dieses Problem haben sollte, ich hab die Lösung gefunden:

Einfach in TSDDatabase in der Eigenschaft "RemoteDatabase"
"Servername:Datenbank" (ohne Anführungszeichen) eintragen.

Einfach diese beiden Platzhalter mit dem richtigen Servernamen und dem richtigen Datenbanknamen ersetzen. Mit Doppelpunkt getrennt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz