Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako uneti sliku u bazu SQL Server?

[es] :: MS SQL :: Kako uneti sliku u bazu SQL Server?

[ Pregleda: 4076 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-3.sezampro.yu.



+3 Profil

icon Kako uneti sliku u bazu SQL Server?11.07.2007. u 20:06 - pre 203 meseci
Interesuje me kako ovaj tip funkcionise?! Da li ide preko reference tj. do foldera u kojem se nalazi slika ili u takvo polje mogu da stavim bas sliku tipa .JMBG, .BMP, GIF.....ostalo! (sliku kao sliku, a ne putanju)???

Pozdrav!

[Ovu poruku je menjao borcha dana 12.07.2007. u 13:56 GMT+1]

[Ovu poruku je menjao borcha dana 12.07.2007. u 13:56 GMT+1]
 
Odgovor na temu

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-3.sezampro.yu.



+3 Profil

icon Re: Tip podatka IMAGE SQL Server Ex.!?11.07.2007. u 22:17 - pre 203 meseci
Znaci ovako:
Pokusavam da iz klijentske aplik. povlaceci sliku u image kontrolu snimim u bazu podataka (SQL Server)!
Tip podatka je image... evo koda i greske. Ako neko zna ja bih ga molio da odgovor podeli sa vecinom...?

Code:
 con = New SqlClient.SqlConnection(strCon)
        con.Open()

        Dim cmd As New SqlCommand
        Dim dr As New SqlClient.SqlDataAdapter

        cmd.CommandText = "procPromUnoUce"
        cmd.CommandType = CommandType.StoredProcedure
        cmd.Connection = con

        cmd.Parameters.Add("@IDUce", SqlDbType.Int).Value = frmUnoUce.cboSifUce.Text
        cmd.Parameters.Add("@IDSkola", SqlDbType.Int).Value = frmDialog.lblIDSkole.Text
        cmd.Parameters.Add("@Ime", SqlDbType.NChar, 25).Value = frmUnoUce.txtIme.Text
        cmd.Parameters.Add("@Prezime", SqlDbType.Char, 25).Value = frmUnoUce.txtPrezime.Text

        cmd.Parameters.Add("@DatRod", SqlDbType.DateTime).Value = frmUnoUce.txtDatum_rodjenja.Text

        cmd.Parameters.Add("@Pol", SqlDbType.Char, 1).Value = frmUnoUce.cboPol.Text
        cmd.Parameters.Add("@Putnik", SqlDbType.Bit).Value = frmUnoUce.chboxPutnik.Checked
        cmd.Parameters.Add("@Slika", SqlDbType.Image).Value = frmUnoUce.picSlikaUcenika.Image
        cmd.Parameters.Add("@NAcionalnost", SqlDbType.NChar, 20).Value = frmUnoUce.txtNacionalnost.Text

        cmd.ExecuteNonQuery()

        con.Close() 


Slika u prilogu!
1 Slika: kontrole (frmUnoUce.picSlikaUcenika.Image)
u kojoj se slika nalazi pre ulaza u bazu.
2. slika: Greska pri snimanju u bazu!

Hvala u napred!

Pozz...
Prikačeni fajlovi
 
Odgovor na temu

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-2.sezampro.yu.



+3 Profil

icon Re: Kako uneti sliku u bazu SQL Server?13.07.2007. u 11:39 - pre 203 meseci
Uspeo sam preko putanje, hvala!
Dobra usteda prostora u bazi a i u narednim verzijama se ukudaju tipovi ntext image, text ....tako da je ovo mnogo bolja varijanta!
 
Odgovor na temu

dekibre
Dejan Mladenovic
Oslo, Norveska

Član broj: 21820
Poruke: 246
84.236.124.*

Sajt: dekibre.on.w802.net/index..


+4 Profil

icon Re: Kako uneti sliku u bazu SQL Server?13.07.2007. u 18:03 - pre 203 meseci
Svojevremeno mene je jako kopkalo kako da ubacim sliku u polje tipa image tj. da neradim sa putanjom do slike, iako znam da ovo rešenje se nikako nepreporučuje u praksi ipak je radoznalost preovladala. Našao sam dosta koda za VB 6.0 ali mi je ostalo u sećanju jedno neobično rešenje.


Code:
In this article, I want to show, how you can copy a single text or image value into or out of 
SQL Server by using the textcopy.exe utility. You can find this utility in the directory containing the 
standard SQL Server EXE files (C:\Mssql\Binn for SQL Server 6.5, by default and C:\Mssql7\Binn for 
SQL Server 7.0, by default).

Textcopy.exe utility is not described in SQL Server Books Online, but you can get its description by 
typing textcopy /? from the command prompt. This is the description:

Copies a single text or image value into or out of SQL Server. The value
is a specified text or image 'column' of a single row (specified by the
"where clause") of the specified 'table'.

If the direction is IN (/I) then the data from the specified 'file' is
copied into SQL Server, replacing the existing text or image value. If the
direction is OUT (/O) then the text or image value is copied from
SQL Server into the specified 'file', replacing any existing file.

TEXTCOPY [/S [sqlserver]] [/U [login]] [/P [password]]
  [/D [database]] [/T table] [/C column] [/W"where clause"]
  [/F file] [{/I | /O}] [/K chunksize] [/Z] [/?]

  /S sqlserver       The SQL Server to connect to. If 'sqlserver' is not
                     specified, the local SQL Server is used.
  /U login           The login to connect with. If 'login' is not specified,
                     a trusted connection will be used.
  /P password        The password for 'login'. If 'password' is not
                     specified, a NULL password will be used.
  /D database        The database that contains the table with the text or
                     image data. If 'database' is not specified, the default
                     database of 'login' is used.
  /T table           The table that contains the text or image value.
  /C column          The text or image column of 'table'.
  /W "where clause"  A complete where clause (including the WHERE keyword)
                     that specifies a single row of 'table'.
  /F file            The file name.
  /I                 Copy text or image value into SQL Server from 'file'.
  /O                 Copy text or image value out of SQL Server into 'file'.
  /K chunksize       Size of the data transfer buffer in bytes. Minimum
                     value is 1024 bytes, default value is 4096 bytes.
  /Z                 Display debug information while running.
  /?                 Display this usage information and exit.

You will be prompted for any required options you did not specify.

 


You can use the following stored procedure to simplify the using of textcopy.exe utility:

CREATE PROCEDURE sp_textcopy ( 
  @srvname     varchar (30),
  @login       varchar (30),
  @password    varchar (30),
  @dbname      varchar (30),
  @tbname      varchar (30),
  @colname     varchar (30),
  @filename    varchar (30),
  @whereclause varchar (40),
  @direction   char(1))
AS
DECLARE @exec_str varchar (255)
SELECT @exec_str = 
         'textcopy /S ' + @srvname +
         ' /U ' + @login + 
         ' /P ' + @password + 
         ' /D ' + @dbname +
         ' /T ' + @tbname + 
         ' /C ' + @colname + 
         ' /W "' + @whereclause +
         '" /F ' + @filename + 
         ' /' + @direction
EXEC master..xp_cmdshell @exec_str

 


This is the example to copy image into SQL Server database pubs, table pub_info, column name logo 
from picture.bmp file where pub_id='0736':

sp_textcopy @srvname = 'ServerName', 
            @login = 'Login', 
            @password = 'Password', 
            @dbname = 'pubs', 
            @tbname = 'pub_info',
            @colname = 'logo', 
            @filename = 'c:\picture.bmp', 
            @whereclause = " WHERE pub_id='0736' ", 
            @direction = 'I'

 


By the way, you should insert something into text/image column before copy text/image into it. I mean, 
this value should not be null. You should write (for example):

INSERT INTO [dbo].[images] VALUES ('1', 0x0, null)

instead of:

INSERT INTO [dbo].[images] VALUES ('1', null, null)

Otherwise, you will get the following error message:

ERROR: Text or image pointer and timestamp retrieval failed

You can fool some people sometimes,
But you can't fool all the people all the time. (Bob Marley)
 
Odgovor na temu

borcha
Boris Bokan
;-(
Novi Sad

Član broj: 148976
Poruke: 419
*.adsl-2.sezampro.yu.



+3 Profil

icon Re: Kako uneti sliku u bazu SQL Server?13.07.2007. u 22:33 - pre 203 meseci
Rece onaj decko juce ntext i text i image tipovi se izbacuju u narednim varijacijama SQL -a!! Tako da je nebitno. Ja sam za klasican patch!!
 
Odgovor na temu

valajbeg
Student/TS
Sarajevo

Član broj: 5069
Poruke: 615
*.team.ba.

ICQ: 127234502
Sajt: www.microsoft.ba


+10 Profil

icon Re: Kako uneti sliku u bazu SQL Server?08.12.2007. u 19:31 - pre 198 meseci
hmm..
meni radi to neobicno rjesenje ali ako iz konzole pozovem taj textcopy.exe i unesem podatke
samo kad iz SQL-a pozovem tu proceduru onda belaj...
kaze:

Citat:

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
NULL


hmm

textcopy <- ovo bi mu trebalo valjda trebalo biti dovoljno da skonta gdje je po defaultu instaliran taj exe ali bez obzira na to nemore..

evo ovako kad probam moze iz command prompta

textcopy.exe /S server /U username /P password /D baza /T tabela /C polje /W "WHERE polje2=''86321''" /F C:\vedran.jpg / I

bez problema :)

ali iz SQL-a mislim da pravi problem oko one where klauzule tj oko onih jednostrukih navodnika ... nasao sam negdje da ako mi treba da u stringu ispisem ' onda ga samo trebam dva puta otkucati ... ali izgleda da nije to dovoljno ...

zna li neko sta trebam uraditi za ovo ???

[Ovu poruku je menjao valajbeg dana 09.12.2007. u 13:42 GMT+1]
www.microsoft.ba
Microsoft gives you Windows... Linux gives you the whole house.
 
Odgovor na temu

[es] :: MS SQL :: Kako uneti sliku u bazu SQL Server?

[ Pregleda: 4076 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.