Bonjour à tous.
J'ai une application écrite sous PowerBuilder 6.5.1, connectée à un client
Oracle 7.3.4 et géré par Windows NT4 SP6. Ce poste se connecte à un serveur
Windows NT4 Server SP6 sur lequel existe une base de données Oracle Server
7.3.4.
J'ai migré cette application sous PowerBuilder 10.2.1, se connectant au même
serveur (Windows NT4 Server SP6, Oracle Server 7.3.4) par le biais d'un client
Oracle8i (8.1.7).
La migration du code PowerBuilder en soit a subi quelques modifications
mineures. Cependant, l'accès d'un client Oracle8i à un serveur Oracle 7.3.4
semble poser des problèmes. En effet, dans des cas bien spécifique, j'obtiens
les erreurs ORA-01438, ORA-01722 et ORA-24374.
D'après le site www.ora-code.com, voici la description de chacune de ces
erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ORA-01438: value larger than specified precision allows for this column Cause: When inserting or updating records, a numeric value was entered that exceeded the precision defined for the column. Action: Enter a value that complies with the numeric column's precision, or use the MODIFY option with the ALTER TABLE command to expand the precision.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ORA-01722: invalid number Cause: The attempted conversion of a character string to a number failed because the character string was not a valid numeric literal. Only numeric fields or character fields containing numeric data may be used in arithmetic functions or expressions. Only numeric fields may be added to or subtracted from dates. Action: Check the character strings in the function or expression. Check that they contain only numbers, a sign, a decimal point, and the character "E" or "e" and retry the operation.Pour être bien clair :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ORA-24374: define not done before fetch or execute and fetch Cause: The application did not define output variables for data being fetched before issuing a fetch call or invoking a fetch by specifying a non-zero row count in an execute call. Action: Issue OCI define calls for the columns to be fetched.
Serveur :
OS : Windows NT4 Server SP6
Base de données : Oracle Server 7.3.4
Client 1 : Totalement fonctionnel![]()
OS : Windows NT4 Workstation SP6
Base de données : Oracle 7.3.4 (client)
Source du logiciel : PowerBuilder 6.5.1 build 444
Client 2 : Partiellement fonctionnel![]()
OS : Windows XP SP2
Base de données : Oracle8i (8.1.7) (client)
Source du logiciel : PowerBuilder 10.2.1 build 9597
Le client 2 pose problème car sur certains cas bien spécifiques, le poste
produit une des trois erreurs Oracle énoncé ci-dessus, de même que des
"Null object reference".
Dans le source, je n'ai fait que les corrections exigées par la migration.
Par ailleurs, sur le client 1, j'ai installé Oracle8i (client) et par le biais du
"Home selector", j'ai indiqué que je souhaitais travailler avec le client Oracle8i.
J'ai refait mon test et je n'ai eut aucune des erreurs énoncées. En outre, je
tiens à préciser que sur mon client 1, le driver ODBC Oracle est d'Intersolv,
tandis que sur mon client 2, c'est celui d'Oracle.
Enfin, j'ai tenté d'installer Oracle 7.3.4 (client) sur le client 2, mais ce dernier
n'est pas compatible avec Windows XP SP2.
J'espère avoir été suffisament clair.![]()
Toute aide ou piste sont les bienvenues !
Par avance, merci:
![]()
Partager