גיבוי כל הDB

  • Post
    שיר
    משתתף
    היי, איך אני מגבה את כל הטבלאות שנמצאות בDB ?
    פונקצית גיבוי שאני מכירה –

    SELECT *
    FROM table_name
    DATA STRCAT ( 'path/' , ' table_name-' , SQL.ENV , '.DAT' );

    במידה ואני מעוניינת לכל הטבלאות , כיצד אני עושה זאת ?

מוצגות 12 תגובות – 1 עד 12 (מתוך 12 סה״כ)
  • Replies
    PriorityDev
    משתתף
    IL
    בס"ד

    שלום,
    שמות של כל הטבלאות נמצאים בטבלת CATALOG.
    אך, למיטב ידיעתי, לא ניתן לשרשר שם טבלה בשאילתת פריוריטי.

    אפשר לפתור את הבעיה בכלים של SQL SERVER.
    משהו מעין זה:
    http://stackoverflow.com/questions/20678725/how-to-set-table-name-in-dynamic-sql-query

    yitzchok
    משתתף
    IL
    אפשר להפיק את השאילתא לקובץ ואז להפעיל אותה עם EXECUTE SQLI
    בפועל היה אפשר לזרוק את כל השאילתאות לאותו קובץ ולהריץ את כולם בבת אחת
    אם רוצים לולאה רב-חברתית לא צריך לעבור על כל החברות אלא ליצור שאילתא שפולטת קובץ עם שם שמשקף את החברה ולהריץ SQLI -E
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    PriorityDev
    משתתף
    IL
    בס"ד

    שלום, ר'ב יצחק.

    כרגיל, למדתי ממך משהו חדש.
    תודה.

    טוב ששוב אתה פעיל בפורום.

    yitzchok
    משתתף
    IL
    ר' מיכאל שלום ותודה ונעים לשמוע ממך
    שמחתי לחזור בתקופה האחרונה
    נראה כמה זמן וכח יש לי לפעילות כאן

    בנושא שלנו:
    הייתי יכול להוסיף שנראה לי שקיימת עוד גישה, ומסמך ה-SDK רומז לזה בלבד

    וזה שיש פקודה RUN ומעבירים לה מחרוזת (נניח משתנה שמכינים קודם) וזה מריץ את הפקודה, אולי אפילו באותו תחביר, בלי צורך ליצור קובץ פיזי בדיסק מה שנדרש ע"י SQLI.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    PriorityDev
    משתתף
    IL
    בס"ד

    ראיתי רק SQLRUN. יש לך דוגמת סינטקס של RUN כדי לנסות להריץ?

    yitzchok
    משתתף
    IL
    לא
    אפשר אולי לחפש ב-WINDBI אם פקודה זאת בשימוש בקוד הסטנדרטי
    אם תסתכל ב-SDK תראה איך RUN מוזכר ברשימה בה מתארים מה חוזר מכל פקודה אבל חוץ מזה לא מוזכר
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    נזכרתי

    מצאתי את הפקודה הזאת מתועדת ב-Programmer's Guide העתיק של פריוריטי:

    Run
    The RUN command allows for dynamic SQL query construction during activation of a compiled program (written in embedded SQL). That is, it enables you to construct and execute an SQL query during run time.
    :Command syntax is
    ; RUN :query
    .where :query is a variable of CHAR type
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    PriorityDev
    משתתף
    IL
    בס"ד

    ניסיתי להריץ ככה:

    :STRSQL = 'SELECT * FROM COUNTRIES FORMAT;';
    RUN :STRSQL;

    ניסיתי להוריד FORMAT;

    לא עובד.

    PriorityDev
    משתתף
    IL
    בס"ד

    אגב, אשמח לקבל את ה-Programmer's Guide העתיק (:

    yitzchok
    משתתף
    IL
    זאת לא הוכחה. FORMAT עם WINDBI עובד בצורה מסוימת.
    תקבע שם קובץ באופן מפורש בדומה למה שהיה רשום בפוסט המקורי (שיהיה סטטי לגמרי בשלב זה) ותראה אם הקובץ נוצר או לא…
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    PriorityDev
    משתתף
    IL
    כזה גם לא עובד:

    :PATH = 'C:\COUNTRIES.TXT';
    :STRSQL = STRCAT('SELECT * FROM COUNTRIES TABS ', :PATH, ';');
    RUN :STRSQL;

    PriorityDev
    משתתף
    IL
    בס"ד

    ניסיתי להכניס את הקוד לפרוצדורה, אותו דבר.
    כנראה שבפריוריטי ווינדוס זה כבר לא נתמך.

מוצגות 12 תגובות – 1 עד 12 (מתוך 12 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.