image insertion into database

  • 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

  • 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


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!

  • 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.

  • 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


    --help us help you! If you post a question, make sure you include a CREATE TABLE... statement and INSERT INTO... statement into that table to give the volunteers here representative data. with your description of the problem, we can provide a tested, verifiable solution to your question! asking the question the right way gets you a tested answer the fastest way possible!

  • 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.

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply