2010-07-16 1 views
1

Je me connecte à une base de données 4D (marque de quatrième dimension) avec son pilote jdbc merdique. J'ai un CLOB sur la base de données et quand je le récupère via getString ou getClob, je ne reçois pas les retours de ligne, tout semble aller dans une ligne. Mais, si je fais une sélection sur l'explorateur de base de données NetBeans et que je copie et colle la valeur sur l'éditeur, il enlève le \ n.JDBC: La conversion des clobs en chaînes n'affiche pas n retours de ligne

J'ai remarqué qu'au lieu de \ n \ Je reçois le caractère 13

Quelqu'un sait pourquoi ces retours à la ligne \ n ne viennent pas comme ils le devraient?

J'utilise windows 7 64 bits

Pablo

+0

Le serveur fonctionne-t-il sous Linux? Comment le CLOB a-t-il été créé - en utilisant un processus Linux? –

+0

oui le serveur fonctionne max os X – Pablo

Répondre

0

Dans Windows, la terminaison de ligne est \r, sous Linux, il est \n. Chaque fois que des fichiers sont échangés entre différents systèmes, une grande confusion se produit.

Si vous ne voyez pas le bon type de terminaison de ligne, vous devez convertir ces chaînes. Problème résolu.

+0

Merci Carl, mais comment netbeans ramasser cela et je ne sais pas? wouldnt être plus facile de définir un paramètre de codage sur la connexion jdbc et oublier la conversion de chaque chaîne unique? – Pablo

+0

Il existe une tradition dans la communauté de programmation Open Source pour «accepter de nombreux formats, produire peu» (ou quelque chose comme ça). Il est très simple de traiter CR ou LF comme une terminaison de ligne, et peu importe le type de terminaison, cela rend votre programme plus flexible. –

+0

En ce qui concerne le commutateur de conversion: je ne serais pas surpris s'il était disponible dans certains DB. Mais je ne pense pas que ce soit une bonne idée. Si vous pouvez demander à la base de données de vérifier et de convertir les données pour chaque accès, vous créez beaucoup plus de frais inutiles que si vous, dans vos applications, nettoyiez systématiquement vos données avant de les écrire dans la base de données . Une fois que vous êtes au courant du problème potentiel, il n'est pas difficile du tout de le réparer. –

Questions connexes