, רעיון לפתרון ssis

אירית145

New member
, רעיון לפתרון ssis

שלום, יש לי תהליך שטוען קובץ אקסל, גוזר שתי עמודות והופך את הפורמט לסי אס ווי. השלב הבא הוא לטעון את שצי העמודות לבסיס נתונים מרוחק, אבל!! לפני השלב הזה אני חייבת להכניס לתהליך את התנאי שבמידה וקוד נכס (אחת העמודות) קיים, לא להכניס את הקוד הזה, אלא רק את הערך שלו שנמצא בעמודה השניה. כלומר, אם לדוגמא קוד 600 קיים, לא להכניס אותו, אחא את הערך שלו (0.25) בעמודה השניה.
 

אירית145

New member
לא בדיוק לזה התכוונתי

אני השתנשתי ב-sort, אבל משום מה, האשומה שסימנתי למיון, מגיעה בסוף ללא נתונים, למרות שהמיון מתבצע נכון (שורות עם קוד נכס זהה לא נטענות)
 

אירית145

New member
אני אחדד את השאלה

המשימה שלי כוללת להתחבר ל-DB מרוחק ושם לעשות בדיקה, האם קוד נכס קיים בטבלה מוגדרת? אם קיים, לעדכן רק את הערך של קוד נכס (עמודה נוספת). אם לא קיים, להקים שורה נוספת ולאכלס אותה בנתונים שלי.
אני די חדשה בתחום, לכן שאלות שלי יכולות להיראות מצחיקות

אשמח מאוד לתשובות ברורות, מתאימות לרמה שלי :)

תודה
 

גרי רשף

New member
אני קצת חלוד ב-SSIS..

אני משער שאת יודעת לעבוד עם SSIS והשאלה שלך אינה "מה זה Package?"..

הדרך "על פי הספר" היא באמצעות אובייקט שמבצע Merge. איתי הפנה אותך לפקודת ה-SQL, אך למיטב זכרוני יש גם אובייקט כזה ב-SSIS.
איך משתמשים בו - זה כבר לא התחום שלי..

אם את מסתבכת- את יכולה תמיד לחלק את העבודה לשניים:
1. להשלים את החסר בשורות שקיימות.
2. להשלים את השורות החסרות.

מקווה שעזרתי במשהו ולא חזרתי על מה שאולי היה לך מובן מאליו מלכתחילה.
 

אירית145

New member
אם נחלק את העבודה לשניים

אז למעשה, לפני שאני בכלל מתקרב ל-DESTINATION, אני חייבת להתחבר לטבלה ב-DB מרוחק ולבדוק, האם קיימים כל הקודים, נכון?
השאלה, איך אני עושה את זה. משהו לא מסתדר לי...

אני יודעת לעבוד עם SSIS ברמה סבירה, אך לשם מתחברים לעיתים קודים של SQL ואני משערת שבמקרה הזה אצטרך להשתמש בקוד (יש קומפוננטה בשם
EXECUTE SQL TASK), אבל לא מצליחה לקבל תמונה ברורה, מה אני צריכה בדיוק להגדיר, כדי להתקדם

אשמח מאוד אם תדעו לעזור לי

תודה
 

pelegk11

New member
לא מבין את הבעיה

פשוט תכניסי את הנתונים לטבלה זמנית תבצעי השוואה מה לא קיים ותכניסי אותו.
אחרי שכבר יש לך CSV, תעביר את שם הקובץ ל SQL TASK ומשם BULK לטבלה זמנית כחלק מפרוצדורה שמבצעת השוואה ו INSERT.
הדרך של לרוץ שורה שורה על ה CSV מול ה SQL היא לא נכונה ואיטית (לטעמי)
יותר נכון לבצע טעינה לטבלה זמנית ואז בשאילתה אחת להכניס ל DB.
 
למעלה