בעיה ב-SCRIPT?

אירית145

New member
בעיה ב-SCRIPT?

שלום,
יש לי תהליך שטוען קובץ ודוגם אותו כל יום
אם אחרי 16 לחודש הקובץ לא נמצא בתיקיה, הוא אמור לשלוח מייל התרעה.
אם התהליך הצליח, יישלח מייל שקובץ נטען
אם אין קובץ וזה עדיין לא 16 לחודש, הוא פשוט לא ימשיך את הטעינה
זה הSCRIPT שלי:

public void Main()

{

// Get value of counter variable and increment with 1

bool hasFiles = (int)Dts.Variables["User::Row_Count"].Value > 0;



if (!hasFiles)

{

if (DateTime.UtcNow.Day >= 16 && DateTime.UtcNow.Day <= 18)

{

Dts.Variables["User::FileDateValidation"].Value = true;

}



Dts.TaskResult = (int)ScriptResults.Failure;

}

else

{

// Files where found so no error

Dts.TaskResult = (int)ScriptResults.Success;

}

}

בהרצה אני מקבלת הודעה הבאה:
the script returned a failure result
(אני לא מבינה, האם ה-SCRIPT כתוב לא נכון או שהוא מחזיר לי תוצאה של ה-SCRIPT?)
אם זו התוצאה, אז זה לא אמור להיות ככה, כיוון שעדיין לא 16 לחודש ויש קובץ, אז צ"ל מייל עם הודעה שקובץ נטען בהצלחה

תודה
 

pitoach

New member
נראה מה אני יכול לתרום בקצרה...

נתחיל בכמה מילות תוכחה

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

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

הדרך הכי פשוטה בשבילך היא לנטר את מה שקורה במקום לחשוב יותר מדי. זה חלק מרכזי מעבודת המפתח. אפשרות הכי מהירה ויעילה היא להכניס נקודת עצירה בקוד (זה אפשרי למשל בעבודה תחת מהדר כמו Visual Studio, שוב... אני לא יודע מה סביבת הפיתוח שלך). ואז פשוט מתקדמים הוראה אחרי הוראה ובודקים מה הערך של הפרמטרים בכל רגע. למעשה אנחנו עוקבים בצורה זו אחרי התקדמות התכנית. בצורה זו גם רואים א האפליקציה נכנסת לתנאי IF אן מגיעה לתנאי ELSE וכו'
אפשרות נוספת נוחה בעיקר בטכנולוגיות דינמיות או כשאין אפשרות לעבוד עם נקודות עצירה היא הכניס לסקריפט עצמו הוראות להציג לנו את הנתונים. פשוט לאחר כל שורה שאת רוצה לבדוק את מה קרה מכניסים הוראה כמו ALERT או CONSOLE.WRITE או כל אופציה שיש לנו בסביבת הפיתוח שלנו להוציא פלט החוצה אל המשתמש.
 
למעלה