Announcement

Collapse
No announcement yet.

Weitergabe eines Programm mit Zugriff aud SQL Datenbank

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Weitergabe eines Programm mit Zugriff aud SQL Datenbank

    Hallo,

    ich habe auf meinen Entwicklungsrechner ein Winform-Programm mit Datenbankzugriff auf MS-SQL Server geschrieben. Was muß ich nun auf dem späteren (anderen) Rechner installieren damit das Programm dort läuft. Ich habe auf dem Zielrechner das Framework installiert und die beiden Dateien Borland.Data.common und Borland.Data.Provider mit ins Programmverzeichnis gestellt. Beim Programmstart kommt eine Fehlermeldung.

    Was fehlt noch ?

    Gruß Georg

  • #2
    Hallo,
    logischerweise der MS-SQL-Server in einer Version, die für geplante Anzahl von Usern lizenziert ist. Die Entwicklerversion des SQL-Servers reicht dafür nicht aus. Falls auf den "Produktionsrechner" allerdings nur 1-5 User zugreifen, wäre die kostenlose SQL-Server-Variante MSDE (DE für Desktop Engine) eine günstige Alternative. Näheres ist unter:
    http://www.microsoft.com/sql/msde/default.asp
    zu finden

    Comment


    • #3
      Hallo,

      das .NET Framework stellt das Beispielprojekt <b>ADepends</b> zur Verfügung, das alle eingebundenen Assemblies der ausgewählten Assembly in einem TreeView-Control anzeigt. Somit sieht man auf einen Blick, welche anderen Dateien "vergessen" wurden. Um dieses Tool zu compilieren, sind die folgenden Schritte notwendig:
      <br>
      1. Wechsel in das Verzeichnis oder C:\Programme\Microsoft.NET\SDK\v1.1\Tool Developers Guide\Samples\adepends (.NET 1.1)
      <br>
      2. Aus dem Fenster der Eingabeaufforderung heraus NMAKE mit dem Parameter All aufrufen: <b>NMAKE All</b> <br>
      3. Die Anwendung kann nun aus dem Explorer heraus aufgerufen werden.

      Das .NET Framework stellt außerdem das <b>Assembly Binding Log Viewer Utility</b> (FUSLOGVW.EXE) zur Verfügung, mit dem der Startvorgang einer .NET-Anwendung "port mortem" untersucht werden kann. Dort protokolliert die CLR von .NET penibel mit, welche Assembly in welchem Version gesucht wurde, bevor die CLR das Handtuch wirft. Das Ergebnis sieht zum Beispiel dann so aus:
      <pre>
      Fusion log follows:
      === Pre-bind state information ===
      LOG: DisplayName = CSharpClass, Version=1.0.921.28311, Culture=neutral, PublicKeyToken=601243f8ec1057c6
      (Fully-specified)
      LOG: Appbase = C:\Temp\Test\
      LOG: Initial PrivatePath = NULL
      Calling assembly : VBNETClassLibrary, Version=1.0.922.19201, Culture=neutral, PublicKeyToken=null.
      ===

      LOG: Private path hint found in configuration file: Bin.
      LOG: Publisher policy file is not found.
      LOG: Host configuration file not found.
      LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\confi g\machine.config
      LOG: Post-policy reference: CSharpClass, Version=1.0.921.28311, Culture=neutral, PublicKeyToken=601243f8ec1057c6
      LOG: Attempting download of new URL file:///C:/Temp/Test/CSharpClass.DLL.
      LOG: Attempting download of new URL file:///C:/Temp/Test/CSharpClass/CSharpClass.DLL.
      LOG: Attempting download of new URL file:///C:/Temp/Test/Bin/CSharpClass.DLL.
      </pre>

      Für das Laden einer Assembly (alias Probing) sind unter .NET zwei Bestandteile zuständig:
      <br> <br>
      1. Der Assembly Loader lädt die Assembly direkt über eine URL.
      <br> <br>
      2. Der Assembly Resolver löst die als Referenz eingebundene Assembly (/r-Schalter der Kommandozeilencompiler) erst zur Laufzeit auf und ermittelt die tatsächliche URL, die vom Assembly Loader benötigt wird.
      <br> <br>
      Das Laden einer Assembly lässt sich in verschiedene Arbeitsschritte unterteilen. Zuerst such die CLR nach einer anwendungsspezifischen Konfigurations-Datei mit der Dateiendung <i>.config</i>. Wird dies gefunden, sucht die CLR dort nach Einträgen, die den Ladevorgang beeinflussen – wie zum Beispiel <b>CodeBaseHint</b>. Außerdem wird die Assembly auch im <b>AppBase</b>-Verzeichnis (also dem Installationsverzeichnis der aufrufenden Anwendung) gesucht. Nur dann, wenn die angeforderte DLL einen Strong Name besitzt, sucht die CLR auch im <b>Global Assembly Cache</b>. Ist auch dort keine passende Assembly aufzutreiben, berücksichtigt die CLR die vorgefundenen Versionsnummern-Policies, so dass ein „Umbiegen“ auf andere Versionsnummern unterstützt wird. Der Administrator des Rechnern hat über eine Versionsnummern-Policy die Möglichkeit, eine alternative Versionsnummer vorzuschreiben, die statt dessen genutzt werden soll. Hilft auch das nichts, so wirft die CLR in der Probing-Phase das Handtuch, was sich im Erscheinen eines Exception-Hinweisfensters äußert.

      Siehe auch <i>http://www.entwickler.com/itr/features/psecom,id,95,nodeid,77.html</i>

      P.S:

      &gt;Beim Programmstart kommt eine Fehlermeldung

      Es wäre sehr hilfreich zu wissen, was dort im Detail angezeigt wird ;-)
      &#10

      Comment


      • #4
        Hier ist die komplette Fehlermeldung

        Gruß Georg

        Microsoft (R) Common Language Runtime Test Debugger Shell Version 1.1.4322.573
        Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

        (cordbg) a 0x470
        Process 1136/0x470 created.
        Warning: couldn't load symbols for c:\winnt\microsoft.net\framework\v1.1.4322\ms
        corlib.dll
        Warning: couldn't load symbols for c:\winnt\assembly\gac\mscorlib.resources\1.0.
        5000.0_de_b77a5c561934e089\mscorlib.resources.dll
        Warning: couldn't load symbols for c:\winnt\assembly\gac\system\1.0.5000.0__b77a
        5c561934e089\system.dll
        Warning: couldn't load symbols for c:\winnt\assembly\gac\system.drawing\1.0.5000
        .0__b03f5f7f11d50a3a\system.drawing.dll
        Warning: couldn't load symbols for P:\_TransferP00\Project1.exe
        Warning: couldn't load symbols for c:\winnt\assembly\gac\system.windows.forms\1.
        0.5000.0__b77a5c561934e089\system.windows.forms.dl l
        Warning: couldn't load symbols for c:\winnt\assembly\gac\system.data\1.0.5000.0_
        _b77a5c561934e089\system.data.dll
        Warning: couldn't load symbols for p:\_transferp00\borland.data.provider.dll
        [thread 0x9d4] Thread created.
        Unable to determine existence of prolog, if any
        [thread 0xc24] Thread created.
        [thread 0x9d4] Unhandled exception generated: (0x04bc7df8) <System.Security.Secu
        rityException>
        permissionType=<null>
        permissionState=<null>
        grantedSet=(0x04bd0080) "<PermissionSet class="System.Security.PermissionSet"
        version="1">
        <IPermission class="System.Security.Permissions.EnvironmentPerm ission, mscorl
        ib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Read="USERNAME"/>
        <IPermission class="System.Security.Permissions.FileDialogPermi ssion, mscorli
        b, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Unrestricted="true"/>
        <IPermission class="System.Security.Permissions.FileIOPermissio n, mscorlib, V
        ersion=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Read="P:\_TransferP00\"
        PathDiscovery="P:\_TransferP00\"/>
        <IPermission class="System.Security.Permissions.IsolatedStorage FilePermission
        , mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
        "
        version="1"
        Allowed="AssemblyIsolationByUser"
        UserQuota="9223372036854775807"
        Expiry="9223372036854775807"
        Permanent="True"/>
        <IPermission class="System.Security.Permissions.ReflectionPermi ssion, mscorli
        b, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Flags="ReflectionEmit"/>
        <IPermission class="System.Security.Permissions.SecurityPermiss ion, mscorlib,
        Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Flags="Assertion, Execution, BindingRedirects"/>
        <IPermission class="System.Security.Permissions.UIPermission, mscorlib, Versi
        on=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Unrestricted="true"/>
        <IPermission class="System.Net.DnsPermission, System, Version=1.0.5000.0, Cul
        ture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Unrestricted="true"/>
        <IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawin
        g, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        version="1"
        Level="DefaultPrinting"/>
        <IPermission class="System.Diagnostics.EventLogPermission, System, Version=1.
        0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1">
        <Machine name="."
        access="Instrument"/>
        </IPermission>
        <IPermission class="System.Security.Permissions.UrlIdentityPerm ission, mscorl
        ib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Url="file://P:/_TransferP00/Project1.exe"/>
        <IPermission class="System.Security.Permissions.ZoneIdentityPer mission, mscor
        lib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        version="1"
        Zone="Intranet"/>
        </PermissionSet>
        "
        refusedSet=<null>
        _className=<null>
        _exceptionMethod=<null>
        _exceptionMethodString=<null>
        _message=(0x04bc7e84) "Sicherheitsfehler."
        _innerException=<null>
        _helpURL=<null>
        _stackTrace=(0x04bd2f2c) array with dims=[36]
        _stackTraceString=<null>
        _remoteStackTraceString=<null>
        _remoteStackIndex=0x00000000
        _HResult=0x8013150a
        _source=<null>
        _xptrs=0x00000000
        _xcode=0xe0434f4d

        Thread 0x9d4 R --- Class initialization ---

        (cordbg

        Comment


        • #5
          Hier ist die komplette Fehlermeldung

          Gruß Georg

          Microsoft (R) Common Language Runtime Test Debugger Shell Version 1.1.4322.573
          Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.

          (cordbg) a 0xfe0
          Process 4064/0xfe0 created.
          Warning: couldn't load symbols for c:\winnt\microsoft.net\framework\v1.1.4322\ms
          corlib.dll
          Warning: couldn't load symbols for c:\winnt\assembly\gac\mscorlib.resources\1.0.
          5000.0_de_b77a5c561934e089\mscorlib.resources.dll
          Warning: couldn't load symbols for c:\winnt\assembly\gac\system\1.0.5000.0__b77a
          5c561934e089\system.dll
          Warning: couldn't load symbols for c:\winnt\assembly\gac\system.drawing\1.0.5000
          .0__b03f5f7f11d50a3a\system.drawing.dll
          Warning: couldn't load symbols for P:\_TransferP00\testz\Project1.exe
          Warning: couldn't load symbols for c:\winnt\assembly\gac\system.windows.forms\1.
          0.5000.0__b77a5c561934e089\system.windows.forms.dl l
          Warning: couldn't load symbols for c:\winnt\assembly\gac\system.data\1.0.5000.0_
          _b77a5c561934e089\system.data.dll
          Warning: couldn't load symbols for p:\_transferp00\testz\borland.data.provider.d
          ll
          [thread 0x954] Thread created.
          Unable to determine existence of prolog, if any
          [thread 0xa38] Thread created.
          [thread 0x954] Unhandled exception generated: (0x04ab4fe8) <System.Security.Secu
          rityException>
          permissionType=<null>
          permissionState=<null>
          grantedSet=(0x04abd318) "<PermissionSet class="System.Security.PermissionSet"
          version="1">
          <IPermission class="System.Security.Permissions.EnvironmentPerm ission, mscorl
          ib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Read="USERNAME"/>
          <IPermission class="System.Security.Permissions.FileDialogPermi ssion, mscorli
          b, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Unrestricted="true"/>
          <IPermission class="System.Security.Permissions.FileIOPermissio n, mscorlib, V
          ersion=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Read="P:\_TransferP00\testz\"
          PathDiscovery="P:\_TransferP00\testz\"/>
          <IPermission class="System.Security.Permissions.IsolatedStorage FilePermission
          , mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
          "
          version="1"
          Allowed="AssemblyIsolationByUser"
          UserQuota="9223372036854775807"
          Expiry="9223372036854775807"
          Permanent="True"/>
          <IPermission class="System.Security.Permissions.ReflectionPermi ssion, mscorli
          b, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Flags="ReflectionEmit"/>
          <IPermission class="System.Security.Permissions.SecurityPermiss ion, mscorlib,
          Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Flags="Assertion, Execution, BindingRedirects"/>
          <IPermission class="System.Security.Permissions.UIPermission, mscorlib, Versi
          on=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Unrestricted="true"/>
          <IPermission class="System.Net.DnsPermission, System, Version=1.0.5000.0, Cul
          ture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Unrestricted="true"/>
          <IPermission class="System.Drawing.Printing.PrintingPermission, System.Drawin
          g, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
          version="1"
          Level="DefaultPrinting"/>
          <IPermission class="System.Diagnostics.EventLogPermission, System, Version=1.
          0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1">
          <Machine name="."
          access="Instrument"/>
          </IPermission>
          <IPermission class="System.Security.Permissions.UrlIdentityPerm ission, mscorl
          ib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Url="file://P:/_TransferP00/testz/Project1.exe"/>
          <IPermission class="System.Security.Permissions.ZoneIdentityPer mission, mscor
          lib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
          version="1"
          Zone="Intranet"/>
          </PermissionSet>
          "
          refusedSet=<null>
          _className=<null>
          _exceptionMethod=<null>
          _exceptionMethodString=<null>
          _message=(0x04ab5074) "Sicherheitsfehler."
          _innerException=<null>
          _helpURL=<null>
          _stackTrace=(0x04ac01c4) array with dims=[36]
          _stackTraceString=<null>
          _remoteStackTraceString=<null>
          _remoteStackIndex=0x00000000
          _HResult=0x8013150a
          _source=<null>
          _xptrs=0x00000000
          _xcode=0xe0434f4d

          Thread 0x954 R --- Class initialization ---

          (cordbg

          Comment


          • #6
            Hallo,

            auf den ersten (kurzen) Blick sieht das so aus, als ob die CLR beim Zugriff auf die Umgebungs-Variable USERNAME (Read="USERNAME) ein Veto in Form einer Exception vom Typ <i>System.Security.Permissions.EnvironmentPermissi on</i> ausgelöst hat.

            Über welchen Weg wird diese Anwendung gestartet? Erfolgt der Aufruf von einem Netzlaufzwerk (... <i>P:\_TransferP00\testz...</i>) aus? Wenn ja, benötigt jede Delphi 8-Anwendung explizit FULL TRUST-Rechte, wenn die Unit <b>SysUtils</b> eingebunden wird

            Comment


            • #7
              Hallo,

              wie kann ich für die Anwendung FULL TRUST Rechte eintragen ?

              Gruß Geor

              Comment


              • #8
                <a href="http://www.entwickler-forum.de/webx?128@@.2cb7dc1e>Lösung für Exception: System.Security.Permissions.SecurityPermission</a&gt

                Comment

                Working...
                X