Insert Image Into Sql Server 2008 Express Database Without Front End Application
I am working with test data in Visual Studio's server explorer. How would I put images into the database just as test images? I have no front end component built to take care of im
Solution 1:
It will work for SQL server 2008r2...but first u have to create a filestream database.
//create databse
CREATE DATABASE Archive
ON
PRIMARY( NAME = Arch1,FILENAME = 'c:\data\archdat1.mdf'),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = Arch3,FILENAME = 'c:\data\filestream1')
LOG ON( NAME = Archlog1,FILENAME = 'c:\data\archlog1.ldf')
GO
//table creation
Use Archive
GO
CREATE TABLE[FileStreamDataStorage]
(
[ID] [INT] IDENTITY(1,1) NOT NULL,
[FileStreamData]VARBINARY(MAX) FILESTREAM NULL,
[FileStreamDataGUID] UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWSEQUENTIALID(),
[DateTime] DATETIME DEFAULT GETDATE()
)
ON [PRIMARY]
FILESTREAM_ON FileStreamGroup1
GO
//inserting value
Use Archive
GO
INSERTINTO [FileStreamDataStorage] (FileStreamData)
SELECT*FROM
OPENROWSET(BULK N'C:\Users\Public\Pictures\Sample Pictures\image1.jpg' ,SINGLE_BLOB) AS Document
GO
Solution 2:
You can upload an image into a db (and retrieve it) using byte[] as data type, assuming that in your db corresponding column is a BLOB.
So if you load your image with byte[] img = File.ReadAllBytes(your_file)
then you can use a query like this INSERT INTO table SET image_col = @par
, where par is a parameter whose value is img.
Post a Comment for "Insert Image Into Sql Server 2008 Express Database Without Front End Application"