ďťż
 
Plik w tabeli MSSQL ďťż
 
Plik w tabeli MSSQL
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Plik w tabeli MSSQL



Replay - 07-01-2006 19:04
Plik w tabeli MSSQL
  Witam!

Mam takie pytanko:

jest sobie jakis plik na dysku C: (np: c:\info.dat) i chcialbym ten plik
wstawic do tabeli w ms sql 2000.
Jaki typ musze zdefionowac i jak moge ten plik 'wlozyc' do tabeli?

Replay.





Robert Winkler - 07-01-2006 19:04

  > jest sobie jakis plik na dysku C: (np: c:\info.dat) i chcialbym ten plik
> wstawic do tabeli w ms sql 2000.
> Jaki typ musze zdefionowac i jak moge ten plik 'wlozyc' do tabeli?

BINARY/VARBINARY jeśli plik jest mniejszy niż 8 kB
IMAGE dla plików do 4 GB

Wstawianie do bazy, tu SQL nie ofeuje żadnej pomocy
musisz napisać program który ci to zrobi.
W zależności od języka programowania i zastosowanego interfejsu
proces wstawiania pliku do bazu może wyglądać inaczej.

W przypadku jezyków rodziny Visual Basic (VB5, VB6, VBScript, VBA)
oraz zastosowania interfejsu ADO
kod mógłby wyglądać mniej więcej tak:

Dim con As ADODB.Connection
Set con = New ADODB.Connection
con.Open ConnectionString

Dim strQuery As String
strQuery = "SELECT PLIK FROM TABELA WHERE ID = " & Id

Dim fileStream As ADODB.Stream
Set fileStream = New ADODB.Stream
fileStream.Type = adTypeBinary ' adTypeBinary = 1
fileStream.LoadFromFile "c:\info.dat"

Dim byteTable() As Byte
byteTable = fileStream.Read

Dim rsTabela As ADODB.Recordset
Set rsTabela = New ADODB.Recordset
rsTabela.Open strQuery, con

rsTabela!Plik = byteTable

rsTabela.Update

rsTabela.Close
con.Close

Kod ten jest prawidłowy dla niewielkich plików
(mniejszych niż dostępna pamięć operacyjna)
dla większych plików należy zmienić odczyt pliku
tak by odbywał sie on partiami, na przykład po 4096 bajtów
i dopisywać pobierane dane za pomocą:
rsTabela("PLIK").AppendChunk byteTable

--
____________
Robert Winkler
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Zdalny =?ISO-8859-2?Q?dost=EAp_do_MSSQL_bez_zarz=B1dzani?==?ISO-8859-2?Q?a?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= [MSSQL 2k] - jak =?ISO-8859-2?Q?pod=B3=B1czy=E6_serwer_na_?==?ISO-8859-2?Q?porcie_innym_ni=BF_1433=3F?= MSSQL Express czy Oracle Express MSSQL 2005 i uruchamianie procedury o =?ISO-8859-2?Q?okre=B6lone?==?ISO-8859-2?Q?j_godzinie?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= [MSSQL 2000] =?ISO-8859-2?Q?wywo=B3anie_procesu_z_poziomu_?==?ISO-8859-2?Q?job=27a?= [MSSQL 2K] =?ISO-8859-2?Q?Wp=B3yw_ustawie=F1_regionalnych_?==?ISO-8859-2?Q?serwera_na_zapytania?= Pobierananie danych z innej bazy danych w MSSQL Migracja MSSQL 2005 CTP na 2005 Express
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • adwokat.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com