none
ייצוא נתונים לקובץ mdb RRS feed

  • שאלה

  • היי,

    המטרה שלי היא ייצוא נתוני לקוח לקובץ mdb מ- sql 2008. דרך הפעולה היא באמצעות SSIS  ע"י יצירת טבלה ואז ייצוא לאקסס ( אני לא מבצע באמצעות שלב 1 יצירת קובץ באמצעות הסקריפט כי אני צריך לעדכן משהו בטבלה קודם ליצירת הקובץ- שאלה בהמשך)           הבעיה שלי היא שיש הרבה לקוחות ולפי מה שאני מבין אני צריך לייצר פרוצדורה לכול לקוח כדי ליצור טבלה בשם הלקוח ואז ליצר שלב של SSIS כדי ליצר את קובץ האקסס הספציפי ללקוח. כלומר: אני צריך לערוך את הפרוצדורה כדי שתייצר טבלה client01 ואז להגדיר SSIS כדי שייצא את נתוני הלקוח לקובץ אקסס שהוכן מראש בשם client01.mdb. וכך לגם ללקוח 02 וכו..

    כמה שאלות:

    האם אני בוחר בדרך הנכונה, כלומר האם זו הדרך היחידה לייצא לקובץ אקסס

    2. האם ניתן לייצר טבלת לקוח לפי משתנה, כלומר-----    select * from accounts into @client  או באמצעות select into @client from....

    3.כאמור לאחר יצירת הטבלה אני חייב לעדכן אותה כי כשאני מייצר שדות תאריך במידה ואין ערך תאריך כלומר Null או 0 , אני מקבל ערך defualt של ה-DB, למשל: 01/01/1900. כרגע אני מבצע update לאחר יצירת הטבלה כדי למחוק את הערך הזה. איך ניתן לבצע את ה- select כך שבמידה ואין ערך הוא יכניס 0 או ריק.

    בתודה מראש



    יום חמישי 27 דצמבר 2012 03:22

תשובות

  • 1. דרך נכונה תלויה לא רק בדרך טובה ביותר אלא גם בנתונים כמו מה הידע, מה היכולת ומה המשאבים שלכם כמובן. לשאלת ההמשך כמובן שזו לא הדרך היחידה וגם לא הדרך שאני אישית הייתי בוחר בה כניראה (הדבר נובע מהרקע שלי בפיתוח שמאפשר לי לבצע פעולות אחרות למשל כמו פיתוח אפליקציה ב C# אם האפיון מתאים לכך ואם לא מדובר בפעולה חד פעמית)

    2. כמובן שכן (תמיד לשאלה האם אפשר התשובה היא כן... השאלה היא רק כיצד)

    אתה יכול לעבוד עם שאילתות דינאמיות כדי להריץ כל שרשרת של שאילתה כמעט עם פרמטרים בעזרת הפרוצדורה המובנית  sp_exectesql.

    אתה יכול לחפש בגוגל חומר על :
    sql dynamic query

    3. בזמן השאילתה של ה SELECT אתה יכול להעזר ב CASE על מנת לבדוק אם אין נתון אז להכניס אליו נתון ברירת מחדל שאתה רוצה כך שהוא לא יגיע ריק בהכרח (תזכור שריק לא שווה לריק ז"א NULL לא שווה ל NULL ואם תעביר NULL בצורה קשיחה או אפס הם יועברו כנתון ככל הנראה... כמובן תלוי במה שאתה מבצע בדיוק)

    כמו כן אתה יכול בזמן יצירת האקסס לקבוע ברירת מחדל שונה

    וכמובן גם הדרך שלך אינה נפסלת בעיקר אם מדובר על פעולה חד פעמית מפני שהיא הכי קלה למימוש אני חושב

    בהצלחה, מקווה שזה עזר ושנה טובה


    signature

    • סומן כתשובה על-ידי Eran Sharvit יום ראשון 30 דצמבר 2012 12:51
    יום חמישי 27 דצמבר 2012 20:13
    מנחה דיון