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

יום שלישי, אוגוסט 15, 2017

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

קריאת קבצי טקסט בעזרת OpenRowset ו-XML

יום רביעי, ספטמבר 18, 2013

כתבתי בעבר על קריאת קבצי טקסט בכל מיני דרכים, והנה עוד אחת.. ניצור קובץ טקסט כדלקמן ונשמור אותו במחיצה C:\Tmp בשם MyFile.txt: שורה ראשונה segunda línea third row טורא בתרא רצוי לשמור בתור unicode כדי שמה שכתוב בספרדית בשורה השניה לא ישתבש. והשליפה: Select LTrim(RS2xml.Loc.query('.').value('(/n/@t)','NVarchar(Max)')) Linea From (Select Cast('<root><n t="'+Replace(BulkColumn,Char(13),'" /><n t="')+'" /></root>' As XML) Sxml From OpenRowset(Bulk...
אין תגובות

תנאי In בעזרת פרמטר עם רשימת ערכים

יום שישי, ספטמבר 13, 2013

נניח שנתון פרמטר המכיל רשימת ערכים, ועלינו לשלוף אותם. משהו בסגנון של- Declare @S Varchar(Max)='1,3,9,2'; Select * From MyTbl Where ID In (@S); כמובן שהסינטקס הזה אינו חוקי, והשאלה מה כן.. לצורך היישום ניצור טבלת פרחים לרגל הסתיו המתדפק על דלתותינו: If Object_ID('tempdb..#Prahim','U') Is Not Null Drop Table #Prahim; Go   Create Table #Prahim(ID Int Primary Key, ...
תגיות: , , , ,
2 תגובות

Using constraints to enforce uniqueness of ordered sets of rows

יום שני, ספטמבר 9, 2013

בדרך כלל אני משתדל לתת לפוסטים שלי כותרות בעברית, אלא שהפעם הסתבכתי לגמרי והגעתי למשהו כמו "שימוש באילוצים כדי לאכוף יחודיות של סדרות של קבוצות נתונים ממויינות", שכנראה הוא פחות מובן ממה שבכותרת; לא בגלל דלות השפה העברית חלילה, אלא מפני שמדובר כאן בנושאים טכניים, וכשם שאינני מתרגם מונחים כמו Stored Procedure או Clustered Index או Service Broker, כך שכרנו יצא בהפסדנו אם ננסה לתרגם את הנ"ל. אם למישהו יש רעיון מוצלח יותר לתרגום – כזה שגם יהיה ברור ל-DBA ממוצע הדובר עברית – הוא מוזמן לנסות את כוחו.. בכל מקרה- זו כותרת פוסט...
תגיות: , , ,
אין תגובות

מערכת למעקב אחר ריצת פרוצדורות

יום ראשון, מאי 1, 2011

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