Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriff auf MSSQL2008 mit User aus trusted domain (https://www.delphipraxis.net/143065-zugriff-auf-mssql2008-mit-user-aus-trusted-domain.html)

PASST 9. Nov 2009 08:27

Datenbank: MSSQL Express • Version: 2008 • Zugriff über: ADO

Zugriff auf MSSQL2008 mit User aus trusted domain
 
Hallo allerseits,

habe ein Programm, welches auf einen MSSQL Server 2008 Express zugreift. Die Anmeldung am MSSQL erfolgt über einen eigenen MSSQL-User. Beim Start des Programms setze ich folgenden Connection-String:
Delphi-Quellcode:
    ConnectionString := 'Provider=SQLNCLI10.1;' +
                        'Integrated Security="";' +
                        'User ID=<dbusername>;' +
                        'Password=<dbuserpw>;' +
                        'Persist Security Info=True;' +
                        'Initial Catalog=' + sDBKatalog + ';' +
                        'Data Source=<MSSQLSERVERNAME>;' +
                        'Application Name=MeinProgramm;' +
                        'Initial File Name="";' +
                        'Server SPN=""';
Beim ersten Öffnen einer Tabelle wird mir aber eine Fehlermeldung angezeigt:
"cannot open database <dbname> requested by the login. the login failed."
Im Log des MSSQL Servers steht dann folgende Meldung:
"Login failed for user <user der trusted domain>. Reason: failed to open the explicitly specified database"

Warum will sich das Programm mit dem Windows-User anmelden obwohl ich im Connection-String einen eigenen DB-User angebe?

Gruß,
Peter

generic 9. Nov 2009 08:37

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Du brauchst nur folgende setzen:
Delphi-Quellcode:
Integrated Security=SSPI;
Persist Security Info=False;
User und PW bleiben dann weg.

PASST 9. Nov 2009 09:27

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Wenn ich mir die Beschreibung zum Parameter "integrated security" des Connection Strings anschaue "Accepts the value "SSPI" for Windows Authentication", dann ist das genau die falsche Lösung. Ich möchte eben unabhängig von der Windows Authentifizierung mit dem DB-User mich anmelden.

Oder verstehe ich da etwas falsch?

generic 9. Nov 2009 11:27

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Wenn du dich mit dem DB-User anmelden möchtest:
Delphi-Quellcode:
User ID=test;
Password=testpwd;
Persist Security Info=True;

Initial Catalog=DBNAME;
Data Source=SERVER
Mehr brauchst du nicht angeben (natürlich noch den Provider).

PASST 9. Nov 2009 12:31

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Wie du den von mir oben geposteten Connection String entnehmen kannst, habe ich genau diese Einträge gesetzt.

muenster 9. Nov 2009 13:58

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Hi,

Du hast da nichts falsch gemacht. Der SQL - Server wird standardmäßig mit der Win-Authentifikation installiert. Er kann mit dem SQL User schlicht nichts anfangen. Also: MS-SQL Server auf die Authentifikation SQL und Win umstellen, den User einrichten und aktivieren und los gehts. Im Netz kursieren verschiedene Methoden, aber das Tool MS SQL Server Management Studio kann das auch. Einfach starten, und beim verbundenen Server mit Rechtsklick Eigenschaften auswählen. Dort unter Sicherheit SQL Server- und Windows-Authentifizierungsmodus auswählen, Server neu starten und gut ist. Hab mir auch dem Problem einen Wolf gesucht.

Viele Grüße

PASST 9. Nov 2009 14:05

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Das kann eigentlich nicht sein. Der MSSQL Server ist bereits auf Windows- UND SQL Server Authentifizierung eingestellt.

taveuni 9. Nov 2009 14:18

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Hallo,

Was passiert den wenn Du mit dem SQL Server Management Studio
per SQL User verbindest?

Gruss

generic 9. Nov 2009 14:55

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
Nimm mal das "Integrated Security=" ganz raus.

PASST 9. Nov 2009 15:09

Re: Zugriff auf MSSQL2008 mit User aus trusted domain
 
@generic
Wenn ich das "Integrated Security=" weglasse, dann erhalte ich die obige Fehlermeldung "cannot open database <dbname> requested by the login. the login failed."

@taveuni
Das Verbinden mit diesem (!) SQL-User lässt das Management Studio nicht zu. Dieser SQL-User hat die Server-Rolle "public" zugeteilt.
(Ich muss gestehen, ich kenne mich mit den Berechtigungen nicht gut aus!)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.
Seite 1 von 3  1 23      

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