![]() |
Datenbank: Oracle • Version: 11 XE • Zugriff über: AnyDAC 6.0.9
Umlaute mit AnyDac und Oracle
Hallo zusammen
kleines Problem unter Win7 Entwicklungsumgebung RAS Studio 2007 mit AnyDAC 6.0.9 zugriff auf Oracle 11 XE Einziges Problem Wenn ich die 32-Bit Version von Oracle nutzem ist alles in Ordnung. Installieren ich aber die 64-Bit Version von Oracle werden beim Zugriff über AnyDAC die Umlaute und Sobderzeichen nicht korrekt übertragen. ü,ä,ö -> ?,?,? Die Delphi Version und die AnyDAC Version kann ich Moment nicht ändern. Gibt es evtl. in den Verbindungs Einstellungen etwas wie Sprachen bzw. Zeichensatz Dank für jeden Hinweis |
AW: Umlaute mit AnyDac und Oracle
Sieht sehr nach falscher Codepage aus.
|
AW: Umlaute mit AnyDac und Oracle
..wenn ich die 32bit Version von Oracle nutze..
Sprichst du dabei vom Oracle Client oder vom DB Server? also erstmal grob Thema 32/64 bit: Database Oracle Fat Client ODAC Instant Client gibt es in 32 und 64 bit Ich weiß jetzt nicht, ob deine Studioversion schon 64er Code bauen kann, aber dann überhaupt erst lohnt eine Betrachtung von 64bit Clients. Ich vermute, Du baust 32 bit Delphiclients, also wechselst Du tatsächlich die Datenbank zwischen 32 und 64? Wie auch immer, der Oracle Client kann sämtliche localization settings im client setzen. Das geschieht am besten und teilweise automatisch schon bei der Installation. Wenn nicht, kann man es auch zur Laufzeit einstellen. Wenn Du tatsächlich mit 32 und 64 bit DB jonglierst, mach dich mal mit dem Thema Varchar, NVarchar vertraut und prüfe, ob Dein Datenmodell (die Textspalten) das berücksichtigt. |
AW: Umlaute mit AnyDac und Oracle
Also Fragezeichen bekomme ich immer, wenn die eine Seite Unicode nutzt und die andere nicht.
Egal, welches Delphi und welche Datenbank ... Und klar, wie oben schon angedeutet: Unterschiedliche Zeichensätze. |
AW: Umlaute mit AnyDac und Oracle
NLS_LANG ist vermutlich nicht gesetzt.
Sieht der Instant Client die Registry settings? Vermute mal der Instant Client ist die 64bit Version. TFDConnection.Params.CharacterSet - Vermutlich ist dort cs_NLS_LANG eingestellt und die Settings werden so nicht gezogen. Du kannst die Parameter auslesen, diese sind eine Stringliste und auch setzen. Mal geraten. Zitat:
|
AW: Umlaute mit AnyDac und Oracle
Hallo MichaelT
In der Tat, es war die Einstellung bei TADConnection.Params dort fehlte der Eintrag für CharacterSet Vielen Dank |
AW: Umlaute mit AnyDac und Oracle
Das wäre jetzt mal eine Notlösung. Die Frage bleibt warum der Instantclient die NLS_LANG nicht zieht.
Du kannst Umgebungsvariablen programmatisch setzen über den DriverLink und so gut wie dasselbe erreichen. Propetry NLSLang. Du kannst am OraDriverLink bspw. auch die Homes auslesen oder TNSAdmin setzen usw... Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz