Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
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:
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:
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
hello,
et en mettant l'autocommit à true ?
Hors ligne
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
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
Hors ligne
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
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
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
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
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
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