› פורומים › אפיון ופיתוח פריוריטי › נעילת קוד בפריוריטי ועוד מספר שאלות
- This topic has 9 תגובות, 4 משתתפים, and was last updated לפני 15 שנים, 6 חודשים by אלמוני.
- Post
-
- מאי 14, 2009 בשעה 1:38 pm
שלום רב,שאלותיי הן :
1. איך ניתן לנעול קוד בפריוריטי מפני קריאה וישיופעל כקטע עצמאי.
2. במידה ורוצים לפתח קוד כתוכנית מערכת סגורה שתקבל קלט
מפריוריטי תבצע עיבוד ותוציא פלט , איך ניתן ובאילו שפות.3. האם ניתן לבנות רשימת בחירה דינמית שהטבלה שאליה קשורה
אינו קבוע ובלי שיהיה צורךבהרשאות מיוחדות? אודה לדוגמה.
4. במידה ובקוד נדרש לבצע בניית טבלה זמנית פרטית ומחיקתה
כחלק מקוד שאמור להיות מופעל עלידי כל משתמשאיך ניתן לבצע זאת מבלי שיהיה צורך בהרשאות מיוחדות.
תודה רבה והמשך פעילות פוריה
ארז
- Replies
-
- מאי 14, 2009 בשעה 2:57 pm
הי ארז,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 של התפריט – יש שם דברים שיכולים לעזור לך.
בהצלחה.- מאי 14, 2009 בשעה 3:03 pm
עוד חצי מילה בנושא יצירת טבלאות –
תופעה ידועה היא שלאחר עדכון DBI במערכת לעיתים קרובות יש להתחבר מחדש. אחרת המערכת מוציאה שגיאות.- מאי 14, 2009 בשעה 6:12 pm
אני מסכים לגמרי עם ליאורהייתי מוסיף
התוכנות המקומפלות מדברות אחת עם השניה בשפה סודית כלשהיא שעדיין לא הצלחתי לפענח כמה שחשבתי על זה. זה דרך קבצים זמניים נדמה לי אבל אין לי מושג מה צורתם.
לא מצאתי הרבה סיבות לקרוא לתוכנה חיצונית דרך WINAPP. אם רוצים להביא נתונים חזרה צריכים להקים טבלה אליה תוכנה ההיא תכתוב (אפילו אם רק לאשר סיום/הצלחה/כשלון של פעולה אחרת ישירות לתוך פריוריטי ע"י הממשקים המקובלים), אחרת יש סיכוי של המתנה לעולם. לי נראה שבד"כ יותר קל לשים את כל הלוגיקה בחוץ ולקרוא ולעדכן דרך ODBC וממשקים וזהו. אבל אני לא יודע מה אתה חושב לעשות.
אני גם לא מאמין שיש טעם לשחק עם הקמת טבלאות זמניות. אי אפשר להכין קוד בפריוריטי שמתיחס לטבלה שלא קיימת. כדי להשתמש בטבלאות אלה צריכים SQL דינמי וזה גם לא פשוט, תלוי בשיטה זה נדרש שרשרת של פעולות והרצה כמשתמש העל, או זה מופעל בסביבה נפרדת לגמרי. איך שתרצה עדיף להקים טבלה קבועה עם מספיק עמודות לתמוך בגמישות הנדרשת.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- מאי 18, 2009 בשעה 7:56 am
היי
יצירת טבלה זמנית לכל משתמש יכולה להעשות על ידי הפקודה LINK
החסרון הוא שהטבלה צריכה להיות קיימת במערכת
( יכולה להיות ריקה )
יש כבר כמה טבלאות כאלה במערכת
תחפש * STACK- מאי 18, 2009 בשעה 11:33 am
roni כתב:היי
יצירת טבלה זמנית לכל משתמש יכולה להעשות על ידי הפקודה LINK
החסרון הוא שהטבלה צריכה להיות קיימת במערכת
( יכולה להיות ריקה )
יש כבר כמה טבלאות כאלה במערכת
תחפש * STACKרוני, תודה, אתה צודק ואפילו זה לא חייב להיות מגבלה כי אם צריכים טבלה כללית לצורך פונקציה מסוימת וטבלאות קיימות לא מתאימות נוכל ליצור טבלה פרטית קבועה עם התקנת אותו קטע קוד וזה שם לצורך link.
ארז, התייחסנו (אני וליאור) ספציפית לשאלות שלך ולכן (זה נכון לי לפחות) לא נגענו בקבצי LINK שרוני הזכיר. אולי אם תסביר לאן אתה חותר נוכל לענות יותר לעניין.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- מאי 19, 2009 בשעה 5:41 pm
סליחה שלא חזרתי ותודה רבה לכולם על המענה המפורטאין לי משהו ספציפי רק רציתי לבדוק מה הגמישות שיש בפריוריטי
ויכולות נעילת קוד פיתוח. אני מבין שיש הרבה מגבלות.
לפי תשובתכם כאמור אין דרך לבנות קוד בפריוריטי ולאחר מכן לנעול אותו ?
דבר שני אני מחפש פיתרון לקישור טבלה דינמי
ותודה על המידע בנושא הלינק
אך לא כל כך ברור איך יוצרים לינקוק דינמי כלומר כל פעם
בחירת טבלה אחרת להתבסס עליה.האם אפשר להכניס כפרמטר שם הקובץ שרוצים
לעשות עליו לינק או אולי משתנה שמכיל שם הטבלה בתוך
פקודת הלינק ?
שאלה נוספת : לגבי ODBC לפריורטי 12 STAND ALONE
היכן ניתן להוריד והאם הוא מאפשר גישה לפריוריטי מכלים
אחרים דרך הODBC וזה דו כיווני ?תודה רבה וכל הכבוד על הפורום המעולה
ארז
- מאי 19, 2009 בשעה 5:51 pm
הי ארז,
אין נעילת קוד במחוללים.
להכניס שם קובץ דינמי אפשר על ידי אחסון שם הקובץ במשתנים. שם טבלה דינמי אי אפשר זה קוד לא חוקי ולא עובר קומפילציה.
קובץ התקנה של OBDC נמצא בתקיית Client/odbchb או Client/odbcen (תלוי בשפה שלך) בספריית פריוריטי\זום על השרת – השם שלו זה setup.exe
קיימת אפשרות להפעיל את ה ODBC במוד של כתיבה וגם במוד של קריאה בלבד.סתם לידיעה – יש לי Web Service שמדבר איתו. הוא יכול לקבל שאילתות SQL דרך הרשת ולהחזיר לך תוצאות חזרה לשם – אם תצטרך דבר כזה, דבר איתי.
- מאי 19, 2009 בשעה 11:51 pm
- יש להתחבר למערכת על מנת להגיב.