קריאת קבצי XML בעזרת Python

15/08/2017

קריאת קבצי XML זה נושא כאוב ב-SQL Server, אם תשים תחבושת לא יעזור לך שנתיים: הפקודה אינה נוחה, לא משנה כמה פעמים השתמשתי בה בעבר – בכל פעם מחדש אני יוצא מדעתי והדברים ארוכים. בנוסף לכך – יש להכיר את הסכימה של ה-XML כדי “לפרסר” אותו בעזרת TSQL.יתכן שבמקרים מסויימים נצליח להיעזר בפתרון שלהלן, בכפוף לכך שהגרסה שלנו תומכת בפייתון (2017 וצפונה), ושה-XML כתוב כך שהפייתון יכול לו: הוא אינו אוהב שבכותרת הקובץ יש שורת פרטים בסגנון של <?xml version="1.0" encoding="UTF-8"?> תווים מסויימים מוציאים אותו מדעתו, בעיקר ‘גרשיים’ בודדים אם הופכים את המידע ל-JSON, סגירת תגיות לא מפורשת- <foo>bla..bla..bla</>...
תגיות: , , , ,
אין תגובות

עיצוב אימיילים ב-SQL Server בעזרת Python

13/08/2017

אצלנו מקובל לשלוח דוחות באימייל לרשימות תפוצה שונות: במקרה הטוב, כשיש תקלה, הנמענים מקבלים התרעה; ובמקרה הפחות טוב – הם מקבלים אימיילים גם כשהכל בסדר.. משל למה הדבר דומה? באמצע תוכנית טלוויזיה יש פתאום מבזק: מה קרה? פיגוע? לא: בסך הכל רוצים להודיע שלא קרה כלום ושאשר להירגע ולהמשיך לצפות בתוכנית..בכל מקרה: משלוח האימייל מתבצע בעזרת הפרוצדורה sp_send_dbmail, ויש שם שלל אפשרויות איך, מה, ולמי לשלוח. מקובל לשלוח אימיילים בעיצוב html שמאפשר להדגיש, לעמד, ולשלוח הודעה מעוצבת לתפארת. לשם כך יש לחזור למקורות ולהיזכר כיצד משתמשים בכל התגיות, יכולת בהחלט ראויה להערכה כשמדובר בילד ביסודי, אך לא כשמדובר ב-DBA.....
אין תגובות

Python: הורדת נתונים מהאינטרנט ל-SQL Server

10/08/2017

יכולת בהחלט שווה של פייתון, ובפרט אם היא מתבצעת מתוך SQL Server: הורדת נתונים מהאינטרנט.למשל- טבלת מדינות לפי צפיפות האוכלוסיה: נתחיל בפייתון לבד: import pandas as pdcountries=pd.read_html("https://simple.wikipedia.org/wiki/List_of_countries_by_population_density")countries אינני מציג כאן צילום מסך, כי בממשקי הפיתוח של פייתון הפלט אינו מעוצב, ואין טעם להשקיע בזה יותר מדי כי הפייתון הוא רק כלי עזר לשליפה לאדימיניסטרטור, ולא ממשק למשתמש הקצה.יתכן שיופיעו הודעות שגיאה לגבי מודולים שחסרים, ואזי כדאי להתקין את המודולים הבאים (אם אינם): pandaslxmlhtml5libBeautifulSoup4 כיצד מתקינים? בעזרת פקודת ההתקנה pip, למשל (בחלונית שורת הפקודה cmd): pip install pandas אם המערכת אינה מוצאת את pip, יש להפעיל אותו עם הנתיב המלא שלו.כדי למצוא...
אין תגובות

קול התור נשמע בארצנו: השימוש ב-Queue של Azure (והוצאת קיטור)

07/08/2017

מה בתוכניתנו? ל-Azure יש אובייקט בשם Queue שלכאורה יכול היה להיות תחליף ל-Service Broker שב-On Premise.Queue הוא אובייקט שסרוויס אחד מכניס לתוכו מידע, ואחר שולף על פי סדר ההכנסה (FIFO); כל זאת במסגרת עיבוד אסינכרוני. לו לא היו מספקים לנו Queues מן המוכן, היינו יכולים לאלתר בקלות פתרון עם טבלאות; אך אם מקבלים אובייקט עם הפונקציונליות המבוקשת בתוכו – נשתמש בו בשעת הצורך.גדולתו של Service Broker בעיני היא ביכולת לכלול בהגדרת ה-Queue פרוצדורה שקוראת ממנו, ואזי כלערך שמוכנס ל-Queue יוזם אוטומטית הפעלה של הפרוצדורה שתטפל בו. קצת דומה ל-Trigger על טבלה, אך עם היתרון בכך שההפעלה של הפרוצדורה היא...
תגיות: , , ,
אין תגובות