Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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 06-01-2011 12:21:43

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

Bonjour à tous,

Avant d'exposer mon problème, voici ma config:

EAServer 6.3.1 installé sur Windows Server 2008 Standard
PowerBuilder 12.1 installé sur Windows Seven
Database RAC Oracle 11.2.0g

- Je définis dans l'EAS une Data Source (my_data_source) avec les paramètres suivants:
   - Database Type: JCM_Oracle (pour l'OCI)
   - Database URL: [default]
   - Server Name : my_server_name (défini en TNS dans le fichier tnsnames.ora)
   - User: my_user
   - Password: my_password
   - Service Name: [default] (grisé)
   - Locale/Codeset: [server] (grisé)
   - Commit Protocol: pessimistic
   - Ping Statement: [default]
   - Ping Pooled Connections: coché
   - Ping with Transaction: coché

Le fichier tnsnames.ora contient:
my_server_name =
  (DESCRIPTION=
    (LOAD_BALANCE=ON)
    (FAILOVER=ON)
    (ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xx1)(PORT=1521))
    (ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xx2)(PORT=1521))
    (CONNECT_DATA=
      (SERVICE_NAME=my_service_name)
      (FAILOVER_MODE=
        (TYPE=SELECT)
        (METHOD=BASIC)
        (RETRIES=500)
        (DELAY=5)
      )
    )
  )

Je définis dans mon code déployé sur l'EAS une variable de transaction de la façon suivante:

Code:

itr = CREATE Transaction

itr.DBMS = "ORA Oracle"
itr.AutoCommit = False
itr.DBParm = "CacheName='my_data_source',PBCatalogOwner='my_pbcatalogowner'"

CONNECT USING itr;

Le problème est le suivant:
Quand je fais appel au code sur l'EAS, la connection entre ce dernier et la base de données a l'air de bien se dérouler: itr.SQLCode vaut 0 directement après le CONNECT.
Par contre, si je fais un SELECT en utilisant itr, ça coince, itr.SQLCode vaut -1.

Donc, en résumé, j'arrive à me connecter à la DB, mais je n'arrive pas à l'utiliser...

Pour information:
- J'ai essayé de me connecter sans le cachename en effectuant:

Code:

itr = CREATE Transaction

itr.DBMS = "ORA Oracle"
itr.AutoCommit = False
itr.DBParm = "PBCatalogOwner='my_pbcatalogowner'"
itr.LogPass = my_password
itr.ServerName = my_server_name
itr.LogId = my_user

CONNECT USING itr;

Et ça fonctionnait très bien. Mais bon... ce n'est pas vraiment ce que je veux.

Dernière modification par Shed (06-01-2011 12:29:34)

Hors ligne

 

#2 06-01-2011 12:25:44

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4655
Pépites: 933
Banque: 2,147,483,647
Site web

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

hello,

et en mettant l'autocommit à true ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 06-01-2011 12:33:24

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

Pareil. Ca ne change rien.

Un truc très étrange, c'est que après mon SELECT raté, le itr.SQLDBcode vaut 24333. Et ORA 24333, ça ne semble pas vraiment avoir de rapport avec ce problème...
Encore autre chose: lorsque je ping my_data_source dans la console d'administration de l'EAS, ça fonctionne très bien: ping successful!

Dernière modification par Shed (06-01-2011 12:43:51)

Hors ligne

 

#4 06-01-2011 12:56:00

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

c'est bizarre, ça ressemble à un bug corrigé dans la version 11  ( http://download.sybase.com/swr/10663/EB … uglist.txt )

15249   473971   Keep getting ORA-24333 (zero iteration count) when
                    doing simple Embedded SQL select using EAS 6


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 06-01-2011 13:16:15

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

Oui.

J'ai essayé un UPDATE et un INSERT et j'ai un autre SQLDBcode: 900. Pas d'erreur de syntaxe pourtant.
J'ai aussi essayé un retrieve sur un datastore, même chose que pour le SELECT.

humhum...

Hors ligne

 

#6 06-01-2011 14:40:14

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

Bonjour,

Je ne suis pas encore en EASERVER 6.x, mais j'utilise la version 5.5. J'ai eu ce genre de problème en n'utilisant pas les pilotes pour ASE livré avec EASERVER, mais celui de la la base de données.

Par expérience,  Il faut absolument utiliser les versions de pilote de base de données certifié pour la version de EASERVER (voir packagé avec EASERVER).

Pour la version 6.3.1 dans le release bulletin : supported version build Oracle 9.2.0.4 and 10g <> 11.2.0g.

Hors ligne

 

#7 06-01-2011 15:01:43

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

J'ai été regardé dans le release bulletin de l'EAS 6.3.1: http://infocenter.sybase.com/help/topic … rames=true
et le product support va bien jusqu'à la 11g pour oracle. Il me semble ne pas avoir les même infos que toi buck. Est-ce normal?

Hors ligne

 

#8 06-01-2011 15:28:48

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

Bonjour,

Effectivement, je me suis trompé, mes informations concernent le release bulletin de la 6.3. A priori, c'est une des nouveautés de la 6.3.1, le support d'oracle 11g.

Je pense tout de même que ton problème vient de la version du client : 11.2.0 et non 11.

Hors ligne

 

#9 06-01-2011 15:49:40

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

Cela m'étonne quand même qu'il n'y ait pas de pilote pour la 11.2g. Sur le site de Sybase, c'est silence radio à ce sujet...
Et puis ce qui est bizarre aussi, c'est que j'arrive à me connecter et à effectuer des transactions lorsque je lui fournis le user, pass et servername en dur dans le code.

Hors ligne

 

#10 07-01-2011 15:47:42

Shed  
Membre Geek
Date d'inscription: 06-01-2011
Messages: 62
Pépites: 260
Banque: 0

Re: Utilisation du cachename - EAServer 6.3.1 et PowerBuilder 12.1

Bon, j'ai un peu cherché sur le forum de Sybase et je suis tombé sur ceci: (et rien d'autre) http://forums.sybase.com/cgi-bin/webnew … er.general
Ce n'est pas exactement la même config, mais il me semble que c'est le même problème! Quoiqu'il en soit, cela s'est donc déjà produit avec Oracle 10.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22