Reklama: Masz stronę WWW i nikt jej nie odwiedza , ZMIEŃ TO

Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

Robert C. programista, Cezar
S.A.

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?
6.12.2011, 13:21

Robert C. programista, Cezar
S.A.

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"
6.12.2011, 15:03

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

jaka jest strona kodowa pliku csv?
6.12.2011, 15:57

Robert C. programista, Cezar
S.A.

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

ANSI
6.12.2011, 23:35

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
7.12.2011, 00:42



Wyślij zaproszenie do