עבור לתוכן

SQL SERVER - בעיית יצוא עברית עם BCP

Featured Replies

פורסם

היי :)

נתקעתי קשות בבעיית יצוא עברית עם BCP -

המטרה: יצוא נתונים מSQL SERVER לקבצי CSV

(וזאת כדי לאפשר סינכרון בין דטאבייסים - אחד של SQL SERVER ואחד של mySql... המטרה הסופית היא - לכתוב triggerים שיעקבו אחרי שינויים בטבלאות נבחרות בצד הSQL SERVER, ואת השינויים ייצא לקבצי CSV שיידגמו אחת ל-X שעות, ובעזרתם יעודכנו טבלאות בצד ה-mySql)

הבעיה: לא מצליח לייצא את העברית עם BCP!

בניסיון 1 - הרצת BCP ללא פרמטר -C:

bcp DBName.dbo.TableName out x:\path\csvfile.csv /U[username] /P[password] /S[server] -c -t,

מתקבלת הודעת השגיאה -


Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]Code page 862 is not supported by SQL Server
SQLState = S1000, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]Unable to resolve column level collations
BCP copy out failed

ניסיון 2 - הרצת BCP עם פרמטר -C1255 (הcodepage שהשתמשתי בו הוא 1255 - hebrew for windows):

http://en.wikipedia.org/wiki/Code_page_1255

bcp DBName.dbo.TableName out x:\path\csvfile.csv /U[username] /P[password] /S[server] -c -t, -C1255

התוצאה - הטבלה יוצאה בהצלחה... אממה, במקום עברית - סימני שאלה :(

ניסיון 3 - הרצת BCP עם פרמטר -C862 (הcodepage שעליו קיבלתי את הודעת השגיאה מניסיון 1 - 862 - hebrew for DOS):

http://en.wikipedia.org/wiki/Code_page_862

bcp DBName.dbo.TableName out x:\path\csvfile.csv /U[username] /P[password] /S[server] -c -t, -C862

התוצאה - שוב הודעת השגיאה מניסיון 1....

ניסיתי גם:

שינוי הcollation של שדה ה varchar (כרגע HEBREW_CI_AS) - לא עזר...

שינוי השדה לnvarchar והכנסת הנתונים עם N' - לא עזר...

ואני על סף יאוש... האם מכם תבוא הישועה? ???

המון תודה מראש!

פורסם

ניסית להעביר את הכל ל-utf-8?

פורסם
  • מחבר

לשמחתי הבעיה נפתרה!

(בזכות הודעה בפורום "בסיסי נתונים" בפורטל שנקרא על שם פרי הדר עגול וכתום :) )

הפיתרון: שימוש ב -C RAW בפקודת ה BCP

תודה רבה בכל זאת!

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים