מאפשר לשמור קבצים בינאריים בתוך טבלה. למשל- טבלת עובדים בה יש עמודה המכילה את התמונה של כל עובד.
כדאי כבר להקדים ולציין שהשימוש בכלי הזה בעייתי- קבצים גראפיים ואחרים נוטים להיות גדולים מאוד, וכשמדובר בטבלאות גדולות – נפח האחסון שלהן גדל למימדים מעוררי חלחלה.. לא לנסות בבית, ובטח שלא במשרד!
החל מגרסת 2008 R2 יש פתרון חלופי – Filestream – בו הקובץ נשמר בנפרד על הדיסק והדטבייס שומר על גודל שפוי (כתבתי על כך פוסט בעבר), אבל אני אעסוק כאן דווקא בפתרון הישן.ניצור בכונן C: מחיצה בשם Tmp (סביר להניח שלרובנו יש כבר אחת כזו), ונעתיק אליה מספר קבצים.
אני העתקתי קובץ טקסט בשם MyFile.txt,
קובץ Word בשם MyFile2.doc,
וקובץ Excel בשם MyFile3.xlsx.
ניצור טבלה מתאימה לאחסון הקבצים:
כדאי כבר להקדים ולציין שהשימוש בכלי הזה בעייתי- קבצים גראפיים ואחרים נוטים להיות גדולים מאוד, וכשמדובר בטבלאות גדולות – נפח האחסון שלהן גדל למימדים מעוררי חלחלה.. לא לנסות בבית, ובטח שלא במשרד!
החל מגרסת 2008 R2 יש פתרון חלופי – Filestream – בו הקובץ נשמר בנפרד על הדיסק והדטבייס שומר על גודל שפוי (כתבתי על כך פוסט בעבר), אבל אני אעסוק כאן דווקא בפתרון הישן.ניצור בכונן C: מחיצה בשם Tmp (סביר להניח שלרובנו יש כבר אחת כזו), ונעתיק אליה מספר קבצים.
אני העתקתי קובץ טקסט בשם MyFile.txt,
קובץ Word בשם MyFile2.doc,
וקובץ Excel בשם MyFile3.xlsx.
ניצור טבלה מתאימה לאחסון הקבצים:
Use tempdb;
Go
If Object_Id('MyTbl','U') Is Not Null Drop Table MyTbl;
Go
Create Table MyTbl(ID Int Identity,
Teur Varchar(Max),
MyFile Varbinary(max));
Go
Go
If Object_Id('MyTbl','U') Is Not Null Drop Table MyTbl;
Go
Create Table MyTbl(ID Int Identity,
Teur Varchar(Max),
MyFile Varbinary(max));
Go
וכעת נקלוט את הקבצים (עם תיאור מתאים) לטבלה:
Insert
Into MyTbl(Teur,MyFile)
Select 'My text file',
*
From Openrowset(Bulk N'C:\Tmp\MyFile1.txt',Single_BLOB) T;
Insert
Into MyTbl(Teur,MyFile)
Select 'My Word file',
*
From Openrowset(Bulk N'C:\Tmp\MyFile2.doc',Single_BLOB) T;
Insert
Into MyTbl(Teur,MyFile)
Select 'My Excel file',
*
From Openrowset(Bulk N'C:\Tmp\MyFile3.xlsx',Single_BLOB) T;
Go
Read more: גרי רשף
QR:
Into MyTbl(Teur,MyFile)
Select 'My text file',
*
From Openrowset(Bulk N'C:\Tmp\MyFile1.txt',Single_BLOB) T;
Insert
Into MyTbl(Teur,MyFile)
Select 'My Word file',
*
From Openrowset(Bulk N'C:\Tmp\MyFile2.doc',Single_BLOB) T;
Insert
Into MyTbl(Teur,MyFile)
Select 'My Excel file',
*
From Openrowset(Bulk N'C:\Tmp\MyFile3.xlsx',Single_BLOB) T;
Go
Read more: גרי רשף
QR:
0 comments:
Post a Comment