OEM-ANSI-Konvertierung bei MSSQL-2005

03/03/2008 - 18:10 von mptei0 | Report spam
Hallo,

ich verwende zum Zugriff auf eine MSSQL2005 Datenbank (MSSQL 9.0.3042)
den SQL-Native-Client. Nun habe ich das Problem, dass meine Anwendung
Daten im OEM-Format vorzuliegen hat.

Gibt es eine Möglichkeit dem ODBC-Treiber zu sagen, dass die Daten in
OEM vorliegen und er sie nach ANSI konvertieren soll?

Grüße
Mike Pieper
 

Lesen sie die antworten

#1 Elmar Boye
03/03/2008 - 20:20 | Warnen spam
Hallo Mike,

mptei0 schrieb:

Ein vollstàndiger Name im Absender wird hier gern gesehen. Danke.

ich verwende zum Zugriff auf eine MSSQL2005 Datenbank (MSSQL 9.0.3042)
den SQL-Native-Client. Nun habe ich das Problem, dass meine Anwendung
Daten im OEM-Format vorzuliegen hat.

Gibt es eine Möglichkeit dem ODBC-Treiber zu sagen, dass die Daten in
OEM vorliegen und er sie nach ANSI konvertieren soll?



Grundsàtzlich gilt für die ODBC Treiber (Native Client oder klassisch)
dass die Daten an eine Windows-Anwendung als Unicode oder in der ANSI-
Codierung an das Programm überstellt werden - da OEM Zeichensàtze nur
für (alte) Konsolenanwendungen verwendet werden.

Eine Möglichkeit Daten als OEM Codepage (850, 437 o. à.) auszugeben,
wàre sie über das Kommandozeilenprogramm bcp zu als Textdatei
exportieren: http://msdn2.microsoft.com/de-de/li...62802.aspx


Falls Du die Daten im Programm direkt haben willst, wàre eine
Umwandlung im SELECT z. B. in SQL_Latin1_General_CP850_CI_AS
möglich. Allerdings hàngt es dann von den Konvertierungseinstellugen
in Deinem Programm ab, was da ankommt, z. B.:
SELECT
CAST(CompanyName COLLATE SQL_Latin1_General_CP850_CI_AS
AS varchar(60))
FROM Northwind.dbo.Customers

Ggf. muss Du zusàtzlich die Daten in ein VARBINARY packen, wie
oben auskommentiert gezeigt, damit kein Schrott ankommt.

BCP ist da u. U. zuverlàssiger und einfacher.

Gruss
Elmar

Ähnliche fragen