2016-07-15 5 views
1

J'ai une requête select qui récupère une valeur de type de données LONG. L'exécution de SQL Developer extrait les données mais le OracleCommand ne récupère pas la valeur. Au lieu de cela, il renvoie des chaînes vides même si je sais que les valeurs existent dans la base de données.OracleCommand ne détecte pas les types de données LONG sur ExecuteReader

Existe-t-il un moyen de convertir le type LONG en VARCHAR2? Les valeurs stockées dans ce champ sont en texte brut? Aussi je fais seulement un SELECT sur la table.

SELECT REQ_COL FROM TEST_TABLE 

J'ai essayé TO_CHAR mais cela n'a pas fonctionné.

REMARQUE: Il s'agit d'une base de données fournisseur que je n'ai aucun contrôle sur la modification des types de données des colonnes. Je ne fais que lire les données de la base de données.

+1

Qu'est-ce que 'OracleCommand'? – user272735

+1

http://www.oracle-developer.net/display.php?id=430 – Mottor

+0

Copie possible de [Oracle: LONG ou CLOB?] (Http://stackoverflow.com/questions/3599211/oracle-long-ou -clob) –

Répondre

0

J'ai rencontré ce même problème lors de l'interrogation de SYS.DBA_TRIGGERS. J'ai trouvé que la définition de cmd.InitialLONGFetchSize = -1 le résout.