Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

image insertion into database Expand / Collapse
Author
Message
Posted Friday, June 14, 2013 1:40 AM
Valued Member

Valued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued Member

Group: General Forum Members
Last Login: Tuesday, July 15, 2014 3:08 AM
Points: 68, Visits: 409
how to add and retrieve a image to and from databse table using open rowset(exaplain)?
is there any other ways of doing image insertion and retrieval?
Thanks and Regards
Post #1463411
Posted Friday, June 14, 2013 5:43 AM


SSChampion

SSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampion

Group: General Forum Members
Last Login: Today @ 7:40 PM
Points: 12,880, Visits: 31,802
gurjer48 (6/14/2013)
how to add and retrieve a image to and from databse table using open rowset(exaplain)?
is there any other ways of doing image insertion and retrieval?
Thanks and Regards


this post has an example of how to Insert, from disk, a image , both via openrowset and also a vb.net example:
http://www.sqlservercentral.com/Forums/FindPost1463248.aspx

If you are going to do something like that regularly, and you feel you have to do it via TSQL and not a programming language/applciaiton, i'd suggest adding some CLR functions to make it much easier; Elliot Witlow has a very nice implementation, with source code, here:

--Elliot Whitlow's project! awesome
http://nclsqlclrfile.codeplex.com/

and using his project, here 's code examples of reading and writing:
--MFGetFileImage
-- Parameters: @FilePath, @FileName
-- purpose: given a path and filename, return the varbinary of the file to store in the database.
-- usage:
CREATE TABLE myImages(id int,filename varchar(200),rawimage varbinary(max) )
INSERT INTO myImages(id,filename,rawimage)
SELECT 1,'fedora_spinner.gif',dbo.MFGetFileImage('C:\Data\','fedora_spinner.gif' )


--MSPSaveFileImage
-- Parameters: @FilePath,@FileName,@FileBytes
-- purpose: given an varbinary image column in a table, write that image to disk
-- usage:
--assumes table and the file from the example above for dbo.MFGetFileImage exists already.
declare @myfile varbinary(max)
SELECT @myfile = rawimage FROM myImages WHERE id = 1
EXEC dbo.MSPSaveFileImage 'C:\Data','spinning.gif',@myfile




Lowell

--There is no spoon, and there's no default ORDER BY in sql server either.
Actually, Common Sense is so rare, it should be considered a Superpower. --my son
Post #1463494
Posted Friday, June 14, 2013 6:29 AM
Hall of Fame

Hall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of Fame

Group: General Forum Members
Last Login: Friday, July 18, 2014 2:05 PM
Points: 3,943, Visits: 2,957
I've always done this using a .NET application and found it far easier than trying to force it with T-SQL. The first big hurdle in doing it with T-SQL is that the image has to be accessible in the file system on the SQL Server. This makes is generally not very useful for user applications.

That being said, Lowell, thank you for the link. It's definitely something I'm interested in and will check out.



Tally Tables - Performance Personified
String Splitting with True Performance
Best practices on how to ask questions
Post #1463523
Posted Friday, June 14, 2013 6:49 AM


SSChampion

SSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampionSSChampion

Group: General Forum Members
Last Login: Today @ 7:40 PM
Points: 12,880, Visits: 31,802
Ed Wagner (6/14/2013)
I've always done this using a .NET application and found it far easier than trying to force it with T-SQL. The first big hurdle in doing it with T-SQL is that the image has to be accessible in the file system on the SQL Server. This makes is generally not very useful for user applications.

That being said, Lowell, thank you for the link. It's definitely something I'm interested in and will check out.


I've done it the same way Ed; typically doing it in /adding that kind of functionality to an application or website.

I've had a few one-off issues, like "export all these documents stored in the database to disk" for various biz reasons, and a simple loop and doing it in TSQL makes sense in those cases, but the main reason you identified: not useful to end users is a rock solid reason to not do it in TSQL. the above is nice to have in your toolbox, but not required.


Lowell

--There is no spoon, and there's no default ORDER BY in sql server either.
Actually, Common Sense is so rare, it should be considered a Superpower. --my son
Post #1463533
Posted Friday, June 14, 2013 6:57 AM
Hall of Fame

Hall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of FameHall of Fame

Group: General Forum Members
Last Login: Friday, July 18, 2014 2:05 PM
Points: 3,943, Visits: 2,957
Lowell (6/14/2013)
Ed Wagner (6/14/2013)
I've always done this using a .NET application and found it far easier than trying to force it with T-SQL. The first big hurdle in doing it with T-SQL is that the image has to be accessible in the file system on the SQL Server. This makes is generally not very useful for user applications.

That being said, Lowell, thank you for the link. It's definitely something I'm interested in and will check out.


I've done it the same way Ed; typically doing it in /adding that kind of functionality to an application or website.

I've had a few one-off issues, like "export all these documents stored in the database to disk" for various biz reasons, and a simple loop and doing it in TSQL makes sense in those cases, but the main reason you identified: not useful to end users is a rock solid reason to not do it in TSQL. the above is nice to have in your toolbox, but not required.


Definitely - the one-off requests is exactly what I was thinking of when I read your post on the CLR library. Thank you for the link.



Tally Tables - Performance Personified
String Splitting with True Performance
Best practices on how to ask questions
Post #1463538
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse