נעילת קוד בפריוריטי ועוד מספר שאלות

פורומים אפיון ופיתוח פריוריטי נעילת קוד בפריוריטי ועוד מספר שאלות

  • Post
    אלמוני
    אורח
    שלום רב,

    שאלותיי הן :

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

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

    3. האם ניתן לבנות רשימת בחירה דינמית שהטבלה שאליה קשורה
    אינו קבוע ובלי שיהיה צורך

    בהרשאות מיוחדות? אודה לדוגמה.

    4. במידה ובקוד נדרש לבצע בניית טבלה זמנית פרטית ומחיקתה
    כחלק מקוד שאמור להיות מופעל עלידי כל משתמש

    איך ניתן לבצע זאת מבלי שיהיה צורך בהרשאות מיוחדות.

    תודה רבה והמשך פעילות פוריה

    ארז

מוצגות 9 תגובות – 1 עד 9 (מתוך 9 סה״כ)
  • Replies
    Lior
    מנהל בפורום
    הי ארז,

    1. רק בתוכנית EXE.
    2. אני יודע שהאפשרות קיימת. אך עד היום הסתדרתי באמצעות הפקודה WINAPP להפעלת תוכניות חיצוניות – אתה יכול לראות הסבר על אופן פעולתה ב SDK. פרמטרים כרגיל, קישוריות לבסיס הנתונים דרך ODBC, פלטים דרך ODBC או קבצים.
    לגבי הכנסת תוכנית פרטית לעבודה מול המערכת – אם מישהו מחברי הפורום עשה זאת – גם אני אשמח להחכים. ייתכן וזה מצריך תיאום עם בית התוכנה.
    3. רשימת בחירה היא טריגר – שינוי קוד של טריגר גורר הכנת מסך ולכן התשובה היא לא.
    4. אתה רוצה יצירה דינמית של טבלה ? אם כן, יש לך בפרק הראשון ב SDK את הפקודות הרגילות.
    אתה צריך ליצור קובץ ולהריץ תוכנית שנקראת DBI שמקבלת כקלט את הקובץ הזה לדוגמא

    הקובץ C:\temp\testdbi.q:
    [code:1]
    CREATE TABLE LIOR_TESTDBI2 'LIOR_TESTDBI2' 1
    KEY1 (INT, 13, 'KEY1')
    UNIQUE (KEY1)
    ;[/code:1]

    הפקודה להריץ את יצירת הטבלה:
    [code:1] EXECUTE DBI 'C:\temp\test.q'[/code:1]

    לטיפול בבעית ההרשאות – מי שיוזם את התוכנית צריך להיות tabula או Manager. ולכן אתה צרי לדאוג לכך במסגרת התוכנית שאתה כותב. טיפ: תדפיס את ה ENVIRONMENT של התפריט – יש שם דברים שיכולים לעזור לך.
    בהצלחה.

    Lior
    מנהל בפורום
    עוד חצי מילה בנושא יצירת טבלאות –
    תופעה ידועה היא שלאחר עדכון DBI במערכת לעיתים קרובות יש להתחבר מחדש. אחרת המערכת מוציאה שגיאות.
    yitzchok
    משתתף
    IL
    אני מסכים לגמרי עם ליאור

    הייתי מוסיף

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

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

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    roni
    משתתף
    היי
    יצירת טבלה זמנית לכל משתמש יכולה להעשות על ידי הפקודה LINK
    החסרון הוא שהטבלה צריכה להיות קיימת במערכת
    ( יכולה להיות ריקה )
    יש כבר כמה טבלאות כאלה במערכת
    תחפש * STACK
    מארק
    משתתף
    none
    הי,
    אולי לבדוק כיוונים פשוטים יותר כמו יצירת קובץ ?
    yitzchok
    משתתף
    IL
    roni כתב:

    היי
    יצירת טבלה זמנית לכל משתמש יכולה להעשות על ידי הפקודה LINK
    החסרון הוא שהטבלה צריכה להיות קיימת במערכת
    ( יכולה להיות ריקה )
    יש כבר כמה טבלאות כאלה במערכת
    תחפש * STACK

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

    ארז, התייחסנו (אני וליאור) ספציפית לשאלות שלך ולכן (זה נכון לי לפחות) לא נגענו בקבצי LINK שרוני הזכיר. אולי אם תסביר לאן אתה חותר נוכל לענות יותר לעניין.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    אלמוני
    אורח
    סליחה שלא חזרתי ותודה רבה לכולם על המענה המפורט

    אין לי משהו ספציפי רק רציתי לבדוק מה הגמישות שיש בפריוריטי

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

    לפי תשובתכם כאמור אין דרך לבנות קוד בפריוריטי ולאחר מכן לנעול אותו ?

    דבר שני אני מחפש פיתרון לקישור טבלה דינמי

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

    אך לא כל כך ברור איך יוצרים לינקוק דינמי כלומר כל פעם
    בחירת טבלה אחרת להתבסס עליה.

    האם אפשר להכניס כפרמטר שם הקובץ שרוצים

    לעשות עליו לינק או אולי משתנה שמכיל שם הטבלה בתוך

    פקודת הלינק ?

    שאלה נוספת : לגבי ODBC לפריורטי 12 STAND ALONE
    היכן ניתן להוריד והאם הוא מאפשר גישה לפריוריטי מכלים
    אחרים דרך הODBC וזה דו כיווני ?

    תודה רבה וכל הכבוד על הפורום המעולה

    ארז

    Lior
    מנהל בפורום
    הי ארז,
    אין נעילת קוד במחוללים.
    להכניס שם קובץ דינמי אפשר על ידי אחסון שם הקובץ במשתנים. שם טבלה דינמי אי אפשר זה קוד לא חוקי ולא עובר קומפילציה.
    קובץ התקנה של OBDC נמצא בתקיית Client/odbchb או Client/odbcen (תלוי בשפה שלך) בספריית פריוריטי\זום על השרת – השם שלו זה setup.exe
    קיימת אפשרות להפעיל את ה ODBC במוד של כתיבה וגם במוד של קריאה בלבד.

    סתם לידיעה – יש לי Web Service שמדבר איתו. הוא יכול לקבל שאילתות SQL דרך הרשת ולהחזיר לך תוצאות חזרה לשם – אם תצטרך דבר כזה, דבר איתי.

    אלמוני
    אורח
    תודה רבה

    ארז

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