Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/05/2003, 13h09   #1
Membre chevronné
 
Philippe
Inscription : avril 2002
Messages : 456
Détails du profil
Informations personnelles :
Nom : Philippe
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 456
Points : 688
Points : 688
Envoyer un message via ICQ à Ph. B.
Par défaut Limitation de XMLRAD ?

Bonjour,

Oui, je suis déçu, car je viens de me heurter à quelques limitations de XMLRad avec les requêtes SQL...

Cf. mon autre message et l'exemple suivant....

Code :
1
2
3
4
5
6
SELECT COUNT(*) AS NB_ETS
FROM T_SUCCURSALE_SCC
WHERE RCO_ID = :RCO_ID
OR    SCT_ID IN (SELECT SCT_ID
                 FROM TR_SECTEUR_SCT
                 WHERE RCO_ID = :RCO_ID)
XMLRad ne sait pas traiter les paramètres dans une requête imbriquée !
Et je ne me sens pas de faire le grand écart pour contourner la limitation...
Philippe.
Ph. B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2003, 13h49   #2
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
ok, j'ai compris. Par défaut pour SQLServer, le middleware DAC de XMLRAD utilise les drivers natif ADO et non pas OLEDB.

comme workaround, tu peux modifier la ligne 895 dans DacADO.pas

Code :
1
2
3
4
5
- if FDatabase.FNativeADO or (FProvider = 'SQLOLEDB') or (FProvider = 'JET') then
+ if FDatabase.FNativeADO then
  FCommand.Prepared := True
else
  RefreshFromOleDB;
je remonte l'info pour que ca soit pris en compte dans les prochains Build.
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2003, 14h21   #3
Membre chevronné
 
Philippe
Inscription : avril 2002
Messages : 456
Détails du profil
Informations personnelles :
Nom : Philippe
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 456
Points : 688
Points : 688
Envoyer un message via ICQ à Ph. B.
Merci RDM !

Je regarde çà de suite...
Ph. B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2003, 15h44   #4
Membre chevronné
 
Philippe
Inscription : avril 2002
Messages : 456
Détails du profil
Informations personnelles :
Nom : Philippe
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 456
Points : 688
Points : 688
Envoyer un message via ICQ à Ph. B.
Je n'ai pas la même version de code que toi. J'ai fait la modif suivante

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TDacAdoQuery.Prepare;
 
  procedure RefreshFromOleDB;
  ...
  end;
 
begin
  FRecordSet := nil;
  FProvider := UpperCase(FDatabase.FDatabase.ConnectionString);
  if Pos('MSDAORA', FProvider) > 0 then
    FProvider := 'MSDAORA'; // Used when setting string params for ORACLE
  if Pos('ORAOLEDB', FProvider) > 0 then
    FProvider := 'ORAOLEDB'; // Used when setting string params for ORACLE
  if Pos('SQLOLEDB', FProvider) > 0 then
    FProvider := 'SQLOLEDB';
  if Pos('JET.OLEDB', FProvider) > 0 then
    FProvider := 'JET';
  //if (FProvider = 'SQLOLEDB') or (FProvider = 'JET') then
  //  FCommand.Prepared := True
  //else
    RefreshFromOleDB;
  FCommand.CommandTimeOut := FDatabase.FDatabase.CommandTimeOut;
end;
J'ai remplacé la libDacAdo.dll dans c:\Winnt\system32.
Ph. B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2003, 09h05   #5
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
Citation:
Envoyé par Ph. B.
J'ai remplacé la libDacAdo.dll dans c:\Winnt\system32.
le DacAdo est ompilé directement dans la DLL donc il suffit de recompiler ton appli normalement
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/05/2003, 11h20   #6
Membre chevronné
 
Philippe
Inscription : avril 2002
Messages : 456
Détails du profil
Informations personnelles :
Nom : Philippe
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 456
Points : 688
Points : 688
Envoyer un message via ICQ à Ph. B.
Merci RDM... :-)
Ph. B. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h29.


 
 
 
 
Partenaires

Hébergement Web