Récemment, un client a partagé une solution de contournement qui a résolu un problème survenu lors de l'utilisation de notre pilote ODBC SQL Server pour connecter Oracle à SQL Server. L'erreur que le client recevait était :
DELETE FROM mytable@MYLINKEDDATABASE WHERE MyCol = 'MyValue'; 17:01:01 [DELETE - 0 row(s), 0.000 secs] [Error Code: 2070, SQL State: 42000] ORA-02070: database MYLINKEDDATABASE does not support some function in this context
et cela a été résolu par :
SQL> select fds_class_name from HS_FDS_CLASS; ODBC11.2.0.2.0_0008 exec dbms_hs.replace_class_caps('ODBC11.2.0.2.0_0008', 564,'ODBC11.2.0.2.0_0008',564, 8191,NULL,1); PL/SQL procedure successfully completed. SQL> commit; Commit complete
Dans Oracle, "SELECT FDS_CLASS_NAME FROM HS_FDS_CLASS" renverra une chaîne qui identifie votre version DG4ODBC. Ex. :
ODBC11.2.0.2.0_0008
Exécution de cette requête :
SELECT * FROM HS_CLASS_CAPS WHERE FDS_CLASS_NAME ='ODBC11.2.0.2.0_0008';
renvoie un certain nombre de "capacités" qui montrent comment DG4ODBC est configuré pour se comporter.
Dans l'exemple présenté précédemment, la colonne du client était un NVARCHAR
taper. Sous la direction du support Oracle, le client modifie le comportement de DG4ODBC vis-à-vis de ce type de données.
Le client a trouvé le champ pertinent dans HS_CLASS_CAPS
:
564 TO_NCHAR(op1) 0
et l'a changé avec le package Oracle, DBMS_HS.ALTER_CLASS_CAPS
.
Notez que ce que font les différentes fonctionnalités de DG4ODBC n'est, semble-t-il, documenté nulle part publiquement. Ce blog ne peut donc pas fournir de conseils spécifiques sur la façon de les utiliser pour résoudre un problème spécifique. Au lieu de cela, le blog est fourni pour vous faire savoir que vous avez un autre outil à votre disposition, si la modification des paramètres dans le fichier de configuration DG4ODBC, init
Voir aussi
- Supprimer ou mettre à jour l'instruction à l'aide de TG4MSQL 10.2 ou DG4ODBC 11.2 faisant référence au champ Nvarchar dans la clause Where qui génère une erreur ORA-2070
- Re :Problème avec Oracle Database Gateway pour ODBC et Unicode