Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ADOConnection.ConnectionString (https://www.delphipraxis.net/175157-adoconnection-connectionstring.html)

Walter Landwehr 3. Jun 2013 08:50

Datenbank: MSSQL • Version: R8 • Zugriff über: ADO

ADOConnection.ConnectionString
 
Hallo,

ich baue eine Verbindung zur Datenbak mit golgenden ADOConnection.ConnectionString auf.

Delphi-Quellcode:
ADOConnection.ConnectionString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;'
          +  'Persist Security Info=False;Initial Catalog= sa020;'
          +  'Data Source= 192.168.4.1;'
          +  'Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'
          +  'Use Encryption for Data=False;Tag with column collation when possible=False';
Lasse ich die Anwendung direkt auf den Server laufen funktioniert diese Verbindung.

Nun möchte ich aber über einen Client auf die Datenbank zugreifen funktioniert diese Verbindung nicht.

Ich denke diese Zeile 'Data Source= 192.168.4.1;' ist das Problem. Hat jemand einen Tipp wie die Verbindung von einem Client zum Server richtig läuft.

Walter

Back2Code 3. Jun 2013 08:55

AW: ADOConnection.ConnectionString
 
Check mal die Sicherheitseinstellungen vom Server. Eventuell blockt die FW die einkommende Verbindung von deinem Client Pc.

Walter Landwehr 3. Jun 2013 09:15

AW: ADOConnection.ConnectionString
 
Muss hierzu ein besonderer Port geöffnet sein?

Back2Code 3. Jun 2013 09:20

AW: ADOConnection.ConnectionString
 
Ich kenns bisher nur von MySQL (3306) & soweit ich weiß ist es bei MSSQL (1433).

Dein Client ist aber schon im Internen Netzwerk oder? Also du erreichst den Server wenn du ihn anpingst?

jobo 3. Jun 2013 10:44

AW: ADOConnection.ConnectionString
 
Ich hab schon lange nicht mehr mssql gearbeitet. Es handelt sich vermutlich um ein Rechteproblem.
Entweder du arbeitest bei der Connection mit einem Datenbank User oder einem System/Domain User (integrated security). Lokal sollte das kein Problem sein (wie bei Dir). Für einen Zugriff von einem anderen Rechner aus, müssen sich aber zunächst die Rechner bzw User kennen (in einer Windowsdomäne geht das größtenteils "automatisch")
Dennoch musst Du administrativ in Deiner DB festlegen welche (Domain)user denn nun auf Deine DB zugreifen dürfen.

jensw_2000 3. Jun 2013 10:50

AW: ADOConnection.ConnectionString
 
In der SQL Server Oberflächenkonfiguration kann man festlegen, welche Protokolle aktiv sind und ob sie über das Netzwerk erreicht werden können (Named Pipes, TCP/IP, Shared Memory)

p80286 3. Jun 2013 12:13

AW: ADOConnection.ConnectionString
 
Code:
SQLOLEDB.1;Password=yyyyyy;Persist Security Info=True;User ID=xxxxxx;Initial Catalog=MMMMMM;Data Source=MeinServerName
So sieht meine Connection mit einem DB-User aus. aber grundsätzlich würde ich mir den Connectionstring von ADO basteln lasen.

Gruß
K-H

jobo 3. Jun 2013 12:36

AW: ADOConnection.ConnectionString
 
Die letzten beiden Hinweise entbinden den TE aber nicht davon, auf dem Server einen zusätzlichen User anzulegen / zu berechtigen.
Variante DB USer:
für Tests, zum Spielen in heterogenen Umgebungen (nicht alle User aus Windows Domäne) am vielseitigsten
Variante Domänen User:
Für Endanwender in einer Domäne am bequemsten, vor allem für den Enduser
(im vorliegenden Fall unklar, ob das 2.System überhaupt ein Domänenrechner ist)

sx2008 3. Jun 2013 12:38

AW: ADOConnection.ConnectionString
 
Falls es sich beim SQL Server um eine Express-Edition handelt, dann ist per Default der Zugriff über das Netzwerk nicht aktiviert.
Das Netzwerkprotokoll TCP/IP muss erst im SQL Server Configuration Manager freigeschaltet werden.

Walter Landwehr 6. Jun 2013 16:40

AW: ADOConnection.ConnectionString
 
Hallo,

Dank an alle. Das Problem war tatsächlich die User-Rechte.

Walter:-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr.

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