Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 22-06-2015 16:27:13

Saria  
Membre Geek
Lieu: Lille
Date d'inscription: 24-02-2012
Messages: 25
Pépites: 117
Banque: 0

[RESOLU] C# - DB2 - Problème de base ? De serveur ?

Bonsoir,

Nous utilisons un progiciel codé sous PB, et nous développons nos Web Services en .NET / C# (Visual Studio 2012).
Nous travaillons sous DB2.

(Si mon ancien collègue passe par là, il va rire)

Un de nos clients a installé une base sur un nouveau serveur.
Sur son serveur 1, base 1, le WS fonctionne.
Sur son serveur 2, base 2, le même WS ne fonctionne pas.

Voici le problème.

Notre progiciel, sous PB, insère une ligne dans une table (dw_trucmuche.insertrow / dw_trucmuche.setItem / etc.)

Notre WS, lit une ligne

Code:

string _RechercheEvenement = "select colA, colB, colC from table "
                            + " where colA = ?  with UR; ";

CmdRechercheEvenement.CommandType = CommandType.Text;
CmdRechercheEvenement.CommandText = _RechercheEvenement;
CmdRechercheEvenement.Prepare();

CmdRechercheEvenement.Parameters.AddWithValue("colA", Id);

using (OleDbDataReader DataReaderEvenement = CmdRechercheEvenement.ExecuteReader())
{
  if (DataReaderEvenement.HasRows)
  {
    while (DataReaderEvenement.Read())
    {
    ...
    }
  }
}

Le ExecuteReader plante :

Code:

System.Data.OleDb.OleDbException (0x80004005):  CLI0100E  Nombre de paramètres incorrect. SQLSTATE=07001

Sachant que le même code fonctionne sur d'autres environnements (même version de la DLL), quelqu'un aurait-il une idée ?

Merci d'avance

Dernière modification par Saria (06-07-2015 15:52:02)

Hors ligne

 

#2 23-06-2015 07:30:56

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: [RESOLU] C# - DB2 - Problème de base ? De serveur ?

Il va pas forcément rire ^^.

Les serveurs sont sur des versions d'OS différents? Est ce que celui sur lequel ça ne marche pas est sur une version particulière?
Il faut peut être aussi voir les versions de IIS et les DLL servant à la connexion OleDb.


Sinon s'il n'y a pas de changement de paramètre dans la boucle pourquoi ne pas créer la string _RechercheEvenement directement avec " where colA = 'Toto' " ?
Ca évite le passage par la fonction de chargement de paramètre avant l'exécution du reader.


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#3 25-06-2015 10:00:24

Saria  
Membre Geek
Lieu: Lille
Date d'inscription: 24-02-2012
Messages: 25
Pépites: 117
Banque: 0

Re: [RESOLU] C# - DB2 - Problème de base ? De serveur ?

On a envoyé quelqu'un de la tech (A.) chez le client, pour vérifier la config de leur serveur.
On a vérifié l'OS, la version de IIS, la version de DB2. A. est là-bas en train de remettre à jour leur DB2 (apparemment, ils ont pas fait les 9 ou 10 derniers updates). Il vérifie aussi les drivers ODBC.

Le problème, c'est que c'est un Processus.TrucMuche, avec le moteur (tu sais, ce qu'on avait fait pour D.), et que ça marche chez nous, chez d'autres clients (hébergés ou non), mais pas chez ce client.
Et on n'a pas envie de changer le code de tous les Processus.TrucMuche juste pour ce client-là, alors que ça fonctionne partout.

Hors ligne

 

#4 25-06-2015 13:27:05

Van  
Bienfaiteur du site
Award: bf
Lieu: mouvaux
Date d'inscription: 19-03-2013
Messages: 125
Pépites: 673
Banque: 41

Re: [RESOLU] C# - DB2 - Problème de base ? De serveur ?

Attention car tu es sur une connexion OleDb qui n'est pas une connexion ODBC.

Il faut donc voir plutot le provider Ole Db au lieu de la version d'ODBC qui est ce que tu sert pour tes connexions en PB.


Tant que ça bouge c'est pas mort, dans le doute frappe encore!
Ni dieu ni maître, sauf maître Kanter!

Hors ligne

 

#5 06-07-2015 15:53:25

Saria  
Membre Geek
Lieu: Lille
Date d'inscription: 24-02-2012
Messages: 25
Pépites: 117
Banque: 0

Re: [RESOLU] C# - DB2 - Problème de base ? De serveur ?

Le problème est résolu : mise à jour de la version de DB2 (fix pack installés) et des différents drivers. Cela fonctionne.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22