Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Umlaute mit AnyDac und Oracle (https://www.delphipraxis.net/192038-umlaute-mit-anydac-und-oracle.html)

egentur 15. Mär 2017 15:50

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

mkinzler 15. Mär 2017 16:04

AW: Umlaute mit AnyDac und Oracle
 
Sieht sehr nach falscher Codepage aus.

jobo 15. Mär 2017 16:21

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.

nahpets 15. Mär 2017 17:04

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.

MichaelT 16. Mär 2017 08:59

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:

Zitat von egentur (Beitrag 1364309)
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


egentur 17. Mär 2017 09:49

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

MichaelT 17. Mär 2017 10:31

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:

Zitat von egentur (Beitrag 1364470)
Hallo MichaelT

In der Tat, es war die Einstellung bei TADConnection.Params
dort fehlte der Eintrag für CharacterSet

Vielen Dank



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz