Robert C.

Robert C. Starszy Programista,
Multi Packaging
Solutions Bialystok
...

Temat: Linked Server CSV i kodowanie polskich znaków SQL2008x64R2

Witam

Po migracji na SQL Server 2008 x64 R2 okazało się że baza zasila się "rozkrzaczonymi" danymi.
Linked server z CSV rozwala kodowanie polskich znaków.
Z XLS jest OK.

Obrazek

Sterownik: Microsoft Office 12.0 Access Database Engine OLE DB Provider

miał ktoś może taki zgryz?
Robert C.

Robert C. Starszy Programista,
Multi Packaging
Solutions Bialystok
...

Temat: Linked Server CSV i kodowanie polskich znaków SQL2008x64R2

Udało mi się poprzez:

SELECT * FROM
OPENROWSET(BULK N'C:\PlikiLinkServer\test.csv', FORMATFILE = N'C:\PlikiLinkServer\test_format.xml', CODEPAGE='ACP ', FIRSTROW=2) as r

gdzie plik formatujący to coś w stylu:

<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="Polish_CI_AS"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="," MAX_LENGTH="100" COLLATION="Polish_CI_AS"/>
<FIELD ID="3" xsi:type="CharTerm" TERMINATOR="\r\n" MAX_LENGTH="100" COLLATION="Polish_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="Col1" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="2" NAME="Col2" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="Col3" xsi:type="SQLNVARCHAR"/>
</ROW>
</BCPFORMAT>


Zastanawia mnie jednak czy to jedyne wyjście. Na SQL 2000 nie potrzebowałem takich "sztuczek"

konto usunięte

Temat: Linked Server CSV i kodowanie polskich znaków SQL2008x64R2

jaka jest strona kodowa pliku csv?
Robert C.

Robert C. Starszy Programista,
Multi Packaging
Solutions Bialystok
...

Temat: Linked Server CSV i kodowanie polskich znaków SQL2008x64R2

ANSI

konto usunięte

Temat: Linked Server CSV i kodowanie polskich znaków SQL2008x64R2

jak ANSI to masz dwie albo ISO albo CP1250

czemu podajesz jako stronę kodową ACP? skoro masz polskie znaki

lepiej daj CODEPAGE=1250



Wyślij zaproszenie do