Steve: Perl und ODBC

hallo liebe leut,

ich greife mit win32::odbc über perl auf eine access-datenbank zu.

mit folgendem befehl lege ich dynamisch/per laufzeit die verbindung an:

if (Win32::ODBC::ConfigDSN(ODBC_ADD_DSN, $driverType,
    ("DSN=$dsn", "Description=$dsnDescription",
     "DBQ=$accessDir\$accessFile", "DEFAULTDIR=$accessDir",
     "UID=$uid", "PWD=$password")))

das klappt soweit !

nun habe ich im www folgendes gefunden:

"Falls anstelle des Benutzer-DSN-Eintrags ein System-DSN-Eintrag erstellt werden soll, dann einfach ODBC_ADD_DSN durch ODBC_ADD_SYS_DSN ersetzen"

ich verstehe dieses nicht? auf meinem testrechner klappt beides.

noch eine andere frage:
wenn aber nun viele user gleichzeitig das skript aufrufen, ist es dann nicht besser "händisch" den dns eintrag in der systemsteuerung zu setzen oder ist das hinsichtlich verwaltung/performance egal?

danke im voraus !

steve

  1. Hi,

    "Falls anstelle des Benutzer-DSN-Eintrags ein System-DSN-Eintrag erstellt werden soll, dann einfach ODBC_ADD_DSN durch ODBC_ADD_SYS_DSN ersetzen"

    ich verstehe dieses nicht? auf meinem testrechner klappt beides.

    eine Benutzerdatenquelle wird vom OS dem angemeldeten Benutzer z.V. gestellt, eine Systemdatenquelle steht auf dem System immer z.V..

    Was folgt daraus, wenn "beides klappt"?   ;-)

    noch eine andere frage:
    wenn aber nun viele user gleichzeitig das skript aufrufen, ist es dann nicht besser "händisch" den dns eintrag in der systemsteuerung zu setzen oder ist das hinsichtlich verwaltung/performance egal?

    Hmm, also die Nutzer kommen doch vermutlich im Sicherheitskontext des anonymen Internetnutzers herein? Wie willst Du die dann unterscheiden? Es muss doch nur sichergestellt sein, dass der o.g. Nutzer Zugriff auf die ODBC-Datenquelle hat. Und das hat er ja wie Du schreibst.

    Gruss,
    Ludger

    --
    "Wer nicht kaempft hat schon gewonnen."
    1. Hi Ludger,

      danke dir für die Info.

      Bei meiner Anwendung handelt es sich um eine Intranet-Anwendung. Ich programmiere und teste gerade lokal auf meinem System.

      In der Firma habe ich Zugriff auf ein frei geschaltes CGI Verzeichnis. Ich muss erst einmal checken ob der Befehl

      if (Win32::ODBC::ConfigDSN(ODBC_ADD_DSN, $driverType,
          ("DSN=$dsn", "Description=$dsnDescription",
           "DBQ=$accessDir\$accessFile", "DEFAULTDIR=$accessDir",
           "UID=$uid", "PWD=$password")))

      in der Firma überhaupt funktioniert. Was meinst du, brauche ich vielleicht weiter Admin-Rechte?

      THX

      Steve

      1. Hi,

        in der Firma überhaupt funktioniert. Was meinst du, brauche ich vielleicht weiter Admin-Rechte?

        das Script laeuft in welchem Sicherheitskontext? In Deinem? Mittels IIS (vermute ich mal so) pruefen.

        Gruss,
        Ludger