PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2025 → Probleme OleDb Oracle avec Webdev 20 et Apache sur Windows
Probleme OleDb Oracle avec Webdev 20 et Apache sur Windows
Débuté par eric.messeant, 27 oct. 2015 11:03 - 3 réponses
Membre enregistré
16 messages
Posté le 27 octobre 2015 - 11:03
Bonjour

Cela fait déjà pas mal de jour que je suis sur ce problème.

J'ai installé un serveur Webdev 20 64bits sur un serveur Windows Serveur 2012 R2 64bits, utilisant un serveur Apache 2.2 64bits et OleDb Oracle 11 64 bits.

J'ai lu dans des forums qu'il n'y a pas le problème avec IIS mais cela m'arrangerait de continuer à utiliser Apache.

J'ai testé le OleDb Oracle 64bit avec un Excel 2013 64bit : il fonctionne.

Apparemment les script CGI de Webdev n’arrive pas à créer la connexion avec OleDb Oracle

Le support de PCSOFT qui m’oriente vers un problème de droit d'utilisateur, j'ai beau mettre le droit à "tout le monde" sur le répertoire de oracle, cela ne change rien.

Est ce que quelqu'un à déjà eu cette erreur (voir ci-dessous)?

A l'avance merci

Eric

Voici l'erreur que j'ai en exécutant l’application WEBDEV
Le champ 'TABLE_COMPETENCES' n'a pas pu s'initialiser, car il a rencontré l'erreur HFSQL suivante :
=============================
Erreur de l'accès OLE DB.
Numéro d'erreur = 170129

Impossible d'ouvrir ou de lire le fichier <COMPETENCES>.

Echec de l'ouverture du fichier.
=============================

Que s'est-il passé ?
Le champ 'TABLE_COMPETENCES' n'a pas pu s'initialiser, car il a rencontré l'erreur HFSQL suivante :
=============================
Erreur de l'accès OLE DB.
Numéro d'erreur = 170129

Impossible d'ouvrir ou de lire le fichier <COMPETENCES>.

Echec de l'ouverture du fichier.
=============================

Code erreur : 310085
Niveau : erreur fatale (EL_FATAL)
Code erreur WD55 : 3001

Message d'erreur système :
Description = Classe non enregistrée
Source = Provider
Help Context = 1240640 (0x12ee40)
Error Number = -2147221164 (0x80040154)
Native Error Number = -2147221164 (0x80040154)

Dump de l'erreur du module 'wd200page64.dll' (20.0.166.0).
Identifiant des informations détaillées (.err) : 310085
Informations de débogage :
SELECT * FROM XXXXX.COMPETENCES
IEWDOLDB=111.46
Module=<WDOLDB>
Version=<20.0.23.0>



[Current Recordset parameters]
Wanted = LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
Got = LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
Provider : OraOLEDB.Oracle
Utilisateur : XXXXX
Source de données : XXXXX
Timeout de connexion : 30
Timeout de commande : 30
Unicode supporté : 1
Code page du WL : 1252
Code page de la connexion : UTF-16

Version du MDAC = <6.3.9600.16384>.

[Data format]
Query Parameter Checked = <0> = <>
Query Parameter Needing conversion = <32> = <BOOL>
DecimalSeparator = <Undefined>
DateFormat = <Undefined>

[Cursor settings Match]
LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>

Informations supplémentaires :
EIT_LOGICALTABLENAME : <XXXXX.COMPETENCES>
EIT_NATIVECODE : <170129>
EIT_ADOCODE : <-2147221164>
EIT_BASECODE : <-2147221164>
EIT_ODBCDESCRIPTION : <Classe non enregistrée>

(25, ERR_MSG_BOX)
Posté le 27 octobre 2015 - 14:22
Bonjour Eric,

Je viens de voir vite ton message, je ne sais pas si cela t'aidera :
- Desinstaller la version 20 32b ou 64bits
- Re-Installer avec la version 32 bits et non 64bits en admin rights. Peut etre que cela n'a rien avoir mais avec la version 64bits, mais cela ne marche pas du tout pour moi cette version, peut etre que mon client a installe une version 32 bits de l'OLE DB Oracle qui n'est pas compatible avec la version 64 bits du serveur de deploiement....
- mettre les droits dans le repertoire AWP du server deploiement pcsoft ( pour l'uitlisateur IUSR )
- mettre les droits sur le repertoire de ton site

Bonne chance,
Xavier
Membre enregistré
16 messages
Posté le 27 octobre 2015 - 15:55
Bonjour

Avec Apache il n'y a pas d'utilisateur IUSR (en tout cas je n'ai as trouvé ce concept dans Apache), c'est plutôt avec IIS. Donc je ne sais pas trop comment faire avec Apache.

Sur développez.com, je suis tombé sur une discussion avec une erreur similaire mais avec PostgreSQL , j'ai donc l'impression que ce n'est peut-être pas l'accès à "Oracle Ole Db" qui cause le problème, mais l'accès à la couche de "gestion de Ole Db" sur Windows.

http://www.developpez.net/forums/d1112987/bases-donnees/postgresql/erreur-170124-erreur-l-acces-odbc-oledb-provider-msdasql/

En tout cas merci pour ton message
@+

Eric
Membre enregistré
16 messages
Posté le 30 octobre 2015 - 13:56
Bonjour

J'ai trouvé une solution pour corriger mon problème.

Cela ne venait pas d'un problème au niveau de Oracle car je suis tombé sur une discussion avec une erreur similaire mais avec PostgreSQL.
J'ai donc orienté mes recherches vers la couche de "gestion de Ole DB" sur Windows.

Je suis tombé sur des forums parlant de problèmes similaires avec ADODB sur apache avec des CGI. Il fallait ajouter ceci dans configuration de Apache :

SetEnv ProgramFiles "C:\Program Files"
SetEnv "ProgramFiles(x86)" "C:\Program Files (x86)"
SetEnv ProgramFilesW6432 "C:\Program Files"
SetEnv CommonProgramFiles "C:\Program Files\Common Files"
SetEnv "CommonProgramFiles(x86)" "C:\Program Files (x86)\Common Files"
SetEnv CommonProgramFilesW6432 "C:\Program Files\Common Files"[/CODE]

Je l'ai donc modifier ma configuration sur mon serveur Apache de cette façon au niveau des VirtualHosts

<VirtualHost _default_:80>
DocumentRoot "/Apache22/htdocs"
ServerName localhost
ErrorLog "logs/error.log"
CustomLog "logs/access.log" common

SetEnv ProgramFiles "C:\Program Files"
SetEnv "ProgramFiles(x86)" "C:\Program Files (x86)"
SetEnv ProgramFilesW6432 "C:\Program Files"
SetEnv CommonProgramFiles "C:\Program Files\Common Files"
SetEnv "CommonProgramFiles(x86)" "C:\Program Files (x86)\Common Files"
SetEnv CommonProgramFilesW6432 "C:\Program Files\Common Files"
</VirtualHost>

de même sur le virtualhost en https (443)

Après avoir relancé Apache, ma connexion Oracle a fonctionné parfaitement.

Si vous arrivez à l’utiliser avec cette méthode chez vous et si vous avez des paramétrages supplémentaires à ajouter, n’hésitez pas à l'indiquer.

Je n'ai pas réussi à reproduire ceci avec le serveur 10 connexion de mon poste de développement mais ma configuration de mon PC n'est peut-être pas nickel et le serveur 10 connexions ne se comporte peut-être pas comme le serveur de production.

Cordialement

Eric

Également disponible sur http://www.developpez.net/forums/d1549124/environnements-developpement/windev/webdev/probleme-oledb-oracle/