Inserting or Updating an Image File Using OPENROWSET and BULK : OPENROWSET « Data Types « SQL Server / T-SQL Tutorial

Home
SQL Server / T-SQL Tutorial
1.Query
2.Insert Delete Update
3.Table
4.Table Join
5.Data Types
6.Set Operations
7.Constraints
8.Subquery
9.Aggregate Functions
10.Date Functions
11.Math Functions
12.String Functions
13.Data Convert Functions
14.Analytical Functions
15.Sequence Indentity
16.View
17.Index
18.Cursor
19.Database
20.Transact SQL
21.Procedure Function
22.Trigger
23.Transaction
24.XML
25.System Functions
26.System Settings
27.System Tables Views
28.User Role
29.CLR
SQL Server / T-SQL Tutorial » Data Types » OPENROWSET 




UPDATE and OPENROWSET can be used together to import an image into a table.

OPENROWSET can be used to import a file into a single row, single column value.

OPENROWSET
BULK 'data_file',| SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB )


Parameter      Description
data_file      The name and path of the file to read.
SINGLE_BLOB |      Designate the SINGLE_BLOB object for importing into a varbinary(maxdata
SINGLE_CLOB |      type, SINGLE_CLOB for ASCII data into a varchar(maxdata type, and
SINGLE_NCLOB      SINGLE_NCLOB for importing into a nvarchar(maxUNICODE data type.

Referenced from:
SQL Server 2005 T-SQL Recipes A Problem-Solution Approach
20>
21>
22CREATE TABLE ImageTable(
23> ID int NOT NULL,
24> Gif varbinary(maxNOT NULL
25)
26> GO
1>
2INSERT ImageTable
3(ID, Gif)
4SELECT 1,
5> BulkColumn
6FROM OPENROWSET(BULK 'C:\yourImage.gif',SINGLE_BLOBAS x
7> GO
Msg 4860, Level 16, State 1, Server BCE67B1242DE45A\SQLEXPRESS, Line 2
Cannot bulk load. The file "C:\yourImage.gif" does not exist.
1>
2SELECT Gif
3FROM ImageTable
4WHERE ID = 1
5> GO
Msg 208, Level 16, State 1, Server BCE67B1242DE45A\SQLEXPRESS, Line 2
Invalid object name 'ImageTable'.
1>
2UPDATE ImageTable
3> SET Gif =
4(SELECT BulkColumn
5FROM OPENROWSET(BULK
6'C:\newImage.gif',
7> SINGLE_BLOBAS x)
8WHERE ID =1
9> GO
Msg 208, Level 16, State 1, Server BCE67B1242DE45A\SQLEXPRESS, Line 2
Invalid object name 'ImageTable'.
1>
2> drop table ImageTable
3> GO
Msg 3701, Level 11, State 5, Server BCE67B1242DE45A\SQLEXPRESS, Line 2
Cannot drop the table 'ImageTable', because it does not exist or you do not have permission.
1>














5.18.OPENROWSET
5.18.1.Inserting or Updating an Image File Using OPENROWSET and BULK
5.18.2.OPENROWSET(BULK 'C:\ER.vdx',SINGLE_BLOB)
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.