Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Salut a tous
contexte :
SELECT de table oracle dans sqlserveur grace a un lien BDD de sqlserveur vers oracle
(fournisseur : Miscrosoft OLE DB provider for oracle )
Problème :
J'ai une table ( oracle ) avec un champs date
Lorsque je fais un select de ce champs dans sqlserver : pas de probleme
Lorsque je fais un select DISTINCT de ce champs dans sqlserver : Error converting data type DBTYPE_DBTIMESTAMP to datetime
J'ai créé un vue dans ORACLE avec juste un select * from table
Lorsque je fais un select de ce champs sur la vue dans sqlserver : pas de probleme
Lorsque je fais un select DISTINCT de ce champs sur la vue dans sqlserver : pas de probleme
J'ai copie la table oracle et les données : aucun probleme sur cette nouvelle table
Qqu'un aurait une idee ??
Hors ligne
Bonjour,
Ton soucis est je pense du au fait que ORACLE gère le TMESTAMP jusqu'à la NanoSeconde ce que sqlserver ne sait pas faire.
La règle est normalement de faire un CAST au moment des lectures de ton champs pour ne plus avor le soucis et c'est ce que fait je suppose ta vue (par défaut).
Hors ligne
c'est ce que je pensais alors j'ai déjà fait un select dans oracle directement avec une conversion de la date pour afficher les nanosecondes -> que des 0000000
pourquoi la copie effectuée en insert into table_jcz select * from table aurait fait sauter le problème ?
pour info :
j'ai un probleme que sur un champs date : j'ai pas de probleme sur les autres champs date
les dates du champs qui pose problème sont normalement supporte par sqlserver : elles sont entre 01/01/1950 et le 12/10/2010 (comme les autres d'ailleurs )
Hors ligne
Il est fort probable que le distinct essaye d'interpréter le champs pour supprimer les doublons et ce type date avec des nanoSeconde est incompréhensible pour lui.
Hors ligne