Cum să încărcați o imagine sau un document în baza de date
Samorodov Fedor Anatolevich. Cum să încărcați o imagine sau un document în baza de date
Foarte des doriți să stocați unele documente, imagini sau doar fișierele din baza de date. Acest lucru este util, chiar dacă în cadrul aveți de gând să se ocupe de aceste date. De exemplu, pentru a stoca imagini în baza de date, apoi pentru a le afișa în rapoarte. Sau descărca o varietate de documente în baza de date, numai pentru a le deschide din aplicația Web.
Într-un astfel de scenariu în baza de date în sine nu este nimic special de a face cu aceste fișiere și documente nu este necesară. Preluare documente și de lucru vor fi unele aplicații cu ei.
Dar cum de a pune documentul în baza de date?
După cum prescrie manuale, ați creat o coloană a unei imagini de masă sau VARBINARY pentru depozitarea BLOB-obiecte. Și aveți un fișier (.doc. Pdf. Jpg.), Conținutul pe care doriți să le încărcați în celula a tabelului. Cum de a face acest lucru?
Cel mai simplu mod - utilizați OPENROWSET modul de funcționare BULK. Așa cum puteți vedea conținutul fișierului de la Transact-SQL:
Și acest lucru este - să-l încărcați într-un tabel:
Asta este! Noi nici măcar nu trebuie să utilizați pentru această integrare serviciu, interfață ADO.Net sau o aplicație specială. Transact-SQL numai.
Cu toate acestea, citiți această sarcină tehnică de SQL înseamnă, desigur, nu putem:
Dar acest lucru nu este de obicei necesară. Cred că lucrul cu aceste documente în interiorul bazei pe care nu a planificat.
Pentru a se asigura, totuși, că conținutul fișierului este într-adevăr complet și fără distorsiuni boot-at în baza de date, vom efectua un alt experiment.
Să presupunem că avem o placă cu personalul. Să ne țină în fotografiile ei de acești angajați, doar pentru a le afișa frumos în rapoarte. Aici este masa:
Acordați atenție la câmp pentru a specifica formatul de fișier. Pentru o aplicație care afișează fotografii, a fost mai ușor să recunoască formatul, este util să ne amintim informații despre formatul de fișier grafic. Și, de exemplu, eu iau fișiere speciale în formate diferite.
Acum umple masa cu ajutorul OPENROWSET (BULK):
Acum, fotografii ale angajaților stocate în baza de date:
Pentru a vă asigura că totul este în ordine, vom încerca să îndeplinească solicitarea din cererea, capabil să afișeze imagini. De exemplu, din cauza serviciilor de raportare SQL-Server. Aici este un raport simplu, deschis în constructor:
Dar raportul generat cu fotografii:
Și, de asemenea, nu uita asta. Dacă intenționați să stocați în documentele de baze de date sau fișiere înainte de a crea un tabel, asigurați-vă că pentru a răspunde la două întrebări:
- Fie că aveți nevoie de o căutare text complet prin conținutul acestor fișiere?
Dacă este necesar, asigurați-vă că pentru a crea o coloană șir suplimentar pentru a indica tipul de document. - Nu depășiți dimensiunea documentului doi gigabytes?
În acest caz, se angajeze mecanismul FileStream sau de a crea un tabel de fișiere.