Migration client Oracle et source PB pose soucis
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:
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:
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. |
Code:
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. |
Pour être bien clair :
Serveur :
OS : Windows NT4 Server SP6
Base de données : Oracle Server 7.3.4
Client 1 : Totalement fonctionnel :mrgreen:
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 :aie:
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. :lol:
Toute aide ou piste sont les bienvenues !
Par avance, merci:
:help: