Laden von Datensätzen über Funktion ins Dataset

21/06/2009 - 16:36 von Holger Dettmer | Report spam
Hallo liebe NG !

Ich hoffe, daß ich hier richtig bin. Ich habe eine Informix-Datenbank,
in welcher Umlaute mit Sonderzeichen abgelegt sind. Ich hatte nun voher
eine Access-Anwendung. Wenn ich mit dieser Datensàtze aus der
Informix-Datenbank abgerufen habe, dann habe ich diese in einer Abfrage
über eine Funktion laufen lassen, die die Umlaute korrekt umgesetzt hat
und ich hatte in dem "Abfrageergebnis" schon die Datensàtze mit
korrekten Umlauten.
Wie kann ich das ganze denn bei einer VB2005.Net-Lösung anstellen ?
Ich frage die Informix-DB über eine ODBC-Verbindung ab und habe keine
Chance auf der Informix DB eine View mit der Function abzulegen.
Muss doch auch bei VB.Net möglich sein, hier eine Spalte einer Tabelle
durch eine Function laufen zu lassen und zu füllen ?

Hat jemand von Euch in dieser Sache Erfahrung ?

Gruß Holger
 

Lesen sie die antworten

#1 Elmar Boye
21/06/2009 - 17:12 | Warnen spam
Hallo Holger,

Holger Dettmer schrieb:
Ich hoffe, daß ich hier richtig bin. Ich habe eine Informix-Datenbank,
in welcher Umlaute mit Sonderzeichen abgelegt sind.

Wie kann ich das ganze denn bei einer VB2005.Net-Lösung anstellen ?
Ich frage die Informix-DB über eine ODBC-Verbindung ab



eine àhnliche Frage hattest Du hier bereits im Màrz gestellt.
Damals hatte ich bereits darauf hingewiesen, dass die
beste Lösung ist, es vom ODBC Treiber machen zu lassen.
Und Dir einen exemplarischen Link auf die Treiber Dokumentation gegeben:
<URL:http://www-01.ibm.com/support/docview.wss?rs 3&context=SW000&dcÚ410&dcÚ450&dcÚ430&dcÚ440&dcÖ00&dc×00&dcÛ510&dcÛ520&dcØ00&dcÙ00&dcÚ900&dcÚ800&dcÛ540&dcÛ400&dcÛ560&dcÛ530&dcÚ600&dcÚ420&dcÚ460&dcÛ300&dcÚ470&dcÚ480&dcÛ100&dcÚ4A10&dcÚ4A20&dcÚ700&dcÚ4A30&dcÚ400&dcÚ100&dcÚ500&dcÒ00&dcÛ700&dcÛ600&dcÛ550&dcÑ00&q1=informix+odbc+driver&uid=pub1sc23942301&loc=en_US&cs=UTF-8&lang=all>

Dort finden sich Einstellungen wie "Database Locale" uam.

Hast Du es überhaupt einmal probiert, und wenn ja, warum ging es nicht?

Muss doch auch bei VB.Net möglich sein, hier eine Spalte einer Tabelle
durch eine Function laufen zu lassen und zu füllen ?



Natürlich kann man eine Funktion innerhalb eines DataReaders darauf
ansetzen. Nur wird das deutlich komplizierter. Denn .NET liefert alle
Ergebnisse bereits als Unicode ab und nutzt für die Konvertierung, die
Angaben, die der Treiber über den Zeichensatz hat.
Deine "Umlaute" werden dadurch ggf. zerstückelt.
Das mit einer wie auch immer gearteten Funktion gàngig zu machen
ist wesentlich aufwàndiger, und ggf. für exotischere Zeichen gar nicht
mehr möglich.

Und das gleiche Problem bekàmst Du umgekehrt, wenn Du jemals Daten
speichern wolltest.

Gruß Elmar

Ähnliche fragen