Passerelle EBP [SQL Pervasive\VB .NET][RESOLU] - SQL/NoSQL - Programmation
Marsh Posté le 20-12-2007 à 18:44:46
Petite question, si tu requete en C# cette table, quels sont les valeurs retournées ?
Sans être sûr, il me semble que cette de base Pervasive travaille encore avec des valeur stockées en hexadécimale (dans certains cas...), il se peut alors que cette donnée sous Forme de CHAR soit en fait un INT limité à 255 valeurs. Le format étant CHAR, il affiche un Caractère, mais il faut plutot jouer sur la valeur ASCII de ce caractère.
Marsh Posté le 21-12-2007 à 00:14:18
Hop après avoir essayé de recuperer l'information dans des variables, je ne recupère qu'une chaine "" en tant que string.
(Essayé avec du char,int...)
Par contre il me récupère bien quelque chose car il me renvoit une information qui est un : "". Si la valeur avait été nulle, il ne m'aurait rien renvoyé. J'ai déjà fait le test par le passé.
Là je viens de changer ma méthode d'insertion de lignes dans la base ebp, sans passer par un dataset quelconque, et ça revient toujours au même problème. J'ai essayé de lui rentrer un chr(0) encore une fois mais toujours le même problème : mon champs n'a pas la même valeur.
Sachant que la colonne avec son parametrage d'origine n'acepte pas les valeurs nulles, preuve que même si elle donne l'impression d'être vide elle comprend un caractère...
J'avoue que là je suis un peu perdu et n'ai plus aucunes idées !!
Merci beaucoup.
Marsh Posté le 21-12-2007 à 10:26:24
Bon ce matin en étant pas trop bête, j'ai cherché les caractères ascii de ce que me retourner la requête. C'est bien un char(0) qu'il recupere.
Marsh Posté le 21-12-2007 à 15:43:29
Bon j'ai trouvé un truc.
Au lieu de passer par des requêtes SQL en Pervasive qui est bien plus compliqué et surtout qui n'autorise pas l'intégration (comme beaucoup d'odbc SQL) de chr(0), je vais donc directement importer et exporter un fichier cvs à partir d'EBP.
Voila ma solution.
Merci quand même !!
Marsh Posté le 20-12-2007 à 17:35:38
Bonjour à tous !
J'ai un collègue de travail qui développe actuellement une passerelle pour passer d'une base de données Access à une base de données Pervasive compatible avec EBP. Il voudrait donc que certaines informations qui sont dans la base Access apparaissent dans le logiciel EBP.
Pour être clair, ils récupèrent des informations sur des clients/contacts, et veut les intégrer dans la base de donnée de EBP.
Donc après étude de la base EBP etc, les informations sont rentrées dans les tables contacts et clients.
Malheureusement une colonne qui se nomme : "TypeTiers" dans la table "Contacts" se remplit automatiquement par un espace. C'est une colonne de type CHAR.
Après avoir fait manuellement on se rend bien compte que le programme lui ne met absolument rien. (Est-ce un caractère ascii spécial ?) Je me suis quand même posé la question : est ce que cela vient vraiment de là. Et après avoir fait différent tests, oui cela vient bien de ce caractère. (Quand c’est EBP qui crée la ligne dans la table « Contacts », dans « TypeTiers » il y a : « », quand c’est moi qui lui insert à partir de Visual Basic ou du manager de l’odbc, il me rentre un espace « ». De plus, pour un fournisseur (Différent d’un client), il rentre un caractère différent dans cette colonne (un petit carré.) mais bon cela n’est pas le problème pour l’instant. Ca montre juste qu’il se sert bien de cette colonne pour afficher les informations.)
J'ai essayé d'aller trafiquer dans son code VB, en insérant dans cette colonne des valeurs telles que : nothing, dbnul.value, "", "''", chr(0)...
J'ai essayé d'exporter en fichier texte, d'enlever les espaces et de réimporter dans la table, il me remet les espaces...
Je commence à me poser des questions si l'ODBC Pervasive ne limite pas certaines choses... Mais je pense plus que c'est un caractère ascii qu'il me manque.
Si vous avez déjà eu le problème, ou si vous avez une ou deux idées à me soumettre, n’hésitez pas !!
Merci beaucoup !!!
Message édité par Lemminkainen le 21-12-2007 à 15:44:18
---------------
Que vois-tu quand tu fermes les yeux ?