AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi USERNAME für LOG Datei Übergeben SQL 2000
Thema durchsuchen
Ansicht
Themen-Optionen

USERNAME für LOG Datei Übergeben SQL 2000

Ein Thema von testoli · begonnen am 2. Jul 2005 · letzter Beitrag vom 4. Jul 2005
Antwort Antwort
testoli

Registriert seit: 21. Aug 2004
Ort: Köln
36 Beiträge
 
Delphi 2005 Architect
 
#1

USERNAME für LOG Datei Übergeben SQL 2000

  Alt 2. Jul 2005, 15:09
Datenbank: SQL2000 • Zugriff über: ADO
Hallo,

ich habe habe auf dem SQL2000 Server eine Rolle und einen dazu gehörigen User eingetragen.
Ich möchte nun, dass der User sich an der Datenbank mit seinem Usernamen und Passwort einlogged.
Wenn dieser User nun einen Insert über einen Delphi-Event macht, soll in der Row der Username eingetragen werden.

Hier meiner SP:
Delphi-Quellcode:
CREATE PROCEDURE [SP_NEW_ADRESSTYP]
   (   
      @ID            INT         =NULL,
      @ADRT_WERT      VARCHAR(30)      =NULL,
      @RETURN_MESSAGE      VARCHAR(150)      OUTPUT,
      @RETURN_ID         INT         OUTPUT

   )


AS
SET NOCOUNT ON
BEGIN TRANSACTION
   BEGIN
      IF @ID = 0
         BEGIN
            INSERT INTO cs_AdressTyp
            (
            [ADRT_WERT],
            [CREATED],
            [MODIFIED],
            [AKTIONUSER]
            )
            VALUES
            (
            LTRIM(RTRIM(@ADRT_WERT)),
            (getdate()),
            (getdate()),
            user
            )
         END
      ELSE
         BEGIN
            UPDATE cs_AdressTyp
            SET
            [ADRT_WERT]       = LTRIM(RTRIM(@ADRT_WERT)),
            [MODIFIED]       = (getdate()),
            [AKTIONUSER]       = user
            WHERE
            [ADRT_ID]      = @ID

         END
END

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                  IF @@error <> 0
                     BEGIN
                        EXEC SP_GET_MESSAGE '101','D', @RETURN_MESSAGE OUTPUT
                        ROLLBACK TRANSACTION
                        RETURN
                     END
                  ELSE
                     BEGIN
                        EXEC SP_GET_MESSAGE '100','D',@RETURN_MESSAGE OUTPUT
                        SET @RETURN_ID = @@identity
                        COMMIT TRANSACTION
                        RETURN
                     END
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SET NOCOUNT OFF
GO
Leider wird immer nur der DBO User eingetragen. Wie kann ich eine eine Anmeldung der User mit Name/PW ermöglichen und auf der Datenbank bei einer SP diesen Usernamen benutzen?

LG
Oliver
Oliver
Aller Anfang ist schwer!
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#2

Re: USERNAME für LOG Datei Übergeben SQL 2000

  Alt 4. Jul 2005, 22:41
Wenn du dich mit SQL-Server Authentification anstatt mit Windows Auth. anmeldest verwendest du in jedem Fall den SQL-Benutzer.

Aktuelle Infos über die aktive Session findest du in der Master DB

SQL-Code:
SELECT nt_username
      , loginame
FROM master.dbo.sysprocesses
WHERE spid = @@SPID

Du kannst dir auch flink eine Funktion bauern, die dir den gewünschten Usernamen als Rückgabewert liefert...

SQL-Code:
CREATE FUNCTION SYSF_GetNtUser()
RETURNS Varchar(128)
AS
BEGIN
  DECLARE @RET VARCHAR(128)
  SELECT @RET = nt_username
  FROM master.dbo.sysprocesses
  WHERE spid = @@SPID
  
  IF @RET IS NULL
    RETURN '<unbekannter Benutzer>'
    
  RETURN @RET
  
END
bzw.

SQL-Code:
CREATE FUNCTION SYSF_GetDbUser()
RETURNS Varchar(128)
AS
BEGIN
  DECLARE @RET VARCHAR(128)
  SELECT @RET = loginame
  FROM master.dbo.sysprocesses
  WHERE spid = @@SPID
  
  IF @RET IS NULL
    RETURN '<unbekannter Benutzer>'
    
  RETURN @RET
  
END


Schöne Grüße,
Jens

  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 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