IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

[D7][IntraWeb] conversion de standalone en ISAPI


Sujet :

Bases de données Delphi

  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut [D7][IntraWeb] conversion de standalone en ISAPI
    Bonjour tout le monde,

    Je cherche à convertir un projet actuellement en standalone en ISAPI (.dll => .exe).
    Ce projet sous windows xp accède via delphi 7 Ent + IntraWeb v7.2.41 à une base oracle 8i.

    Suite à des recherches que j'ai effectué sur le net j'ai cru comprendre que la seule modification à apporter dans mon code résidait dans le .dpr

    Voici le .dpr du mode standalone :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    program Project1;
     
    uses
      Forms,
      IWMain,
      ServerController in 'ServerController.pas' {IWServerController: TIWServerController},
      Unit1 in 'Unit1.pas' {IWForm1: TIWFormModuleBase},
      UserSessionUnit in 'UserSessionUnit.pas' {IWUserSession: TIWUserSessionBase};
     
    {$R *.res}
     
    begin
      Application.Initialize;
      Application.CreateForm(TformIWMain, formIWMain);
      Application.Run;
    end.
    Et voici le .dpr du mode ISAPI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    library Project1;
     
    uses
      ISAPIApp,
      IWInitISAPI,
      ServerController in 'ServerController.pas' {IWServerController: TIWServerController},
      Unit1 in 'Unit1.pas' {IWForm1: TIWFormModuleBase},
      UserSessionUnit in 'UserSessionUnit.pas' {IWUserSession: TIWUserSessionBase};
     
    {$R *.res}
     
    exports
      GetExtensionversion,
      HttpExtensionProc,
      TerminateExtension;
     
    begin
      IWRun;
    end.
    Les 2 modes compilent mais seul le mode exécutable s'exécute correctement : lors de l'appel de la dll via Internet Explorer une erreur est levée :
    L'instruction "0x00fe415b" emploie l'adresse mémoire "0x00000000". La mémoire ne peut pas être "written".
    Cette erreur survient lorsque je tente un quelconque accès à la base de données.
    Dans un 1er temps je pensais que cela venait du DataModule mais même sans en utiliser j'ai cette erreur.

    Pourquoi ?
    Comment résoudre ce problème ?

    Merci du coup de main.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je progresse : pour ceux que ça intéresse voici le résumé.
    J'ai testé les 2 exécutables (standalone / ISAPI) sur des OS différents.

    WinXP + oracle 8i :
    - standalone : OK
    - ISAPI : KO

    WinXP + interbase 6 :
    - ISAPI : OK

    Win2000Server + oracle 8i :
    - standalone : OK
    - ISAPI : OK

    Conclusion : pour moi il existe une incompatibilité dans la configuration (WinXP + oracle 8i + IIS 5.1)

    En faisant des recherches sur le net j'ai lu un post comme quoi ce serait un bug d'IIS 5.1

    Je vais tenter une installation de la version 6 et mes résultats en diront plus.
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Je n'arrive pas à faire fonctionner IIS 6 sur Microsoft Server2003 8)

    Quoi qu'il en soit j'ai trouvé la cause à mon problème et surtout une solution.
    En fait la cause réside dans le fait que la propriété Active des TSimpleDataSet contenant au moins une colonne de type DATE ne peut pas être passée à True.

    C'est un problème apparemment assez fréquent avec les TSimpleDataSet de dbExpress et Oracle 8i.

    Toujours est-il la solution que j'ai instaurée consiste à changer le type de ces colonnes en VARCHAR2.

    A mon avis, pour ceux et celles qui galèreraient sur ce problème, une entrée dans la FAQ serait la bienvenue ...
    Modérateur des forums Oracle et Langage SQL
    Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence IntraWeb, Composant ASP, COM+, DLL ISAPI / CGI
    Par [DreaMs] dans le forum Web & réseau
    Réponses: 0
    Dernier message: 28/04/2009, 15h26
  2. Intraweb : ISAPI ou STANDALONE
    Par ibrahim26 dans le forum Web & réseau
    Réponses: 17
    Dernier message: 07/12/2008, 23h37
  3. [D7][intraweb] accéder par le réseau au serveur standalone
    Par Magnus dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/10/2005, 12h34
  4. [D7] Conversion d'une application console en ISAPI
    Par Magnus dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 28/09/2005, 14h27
  5. IntraWeb et ISAPI ...
    Par Djedjeridoo dans le forum Web & réseau
    Réponses: 19
    Dernier message: 16/08/2004, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo