Inserting documents and images

If you want to store documents or images in your database, you can write an application that reads the contents of the file into a variable, and supplies that variable as a value for an INSERT statement. See How to use prepared statements, and SET statement.

You can also use the xp_read_file system function to insert file contents into a table. This function is useful if you want to insert file contents from Interactive SQL, or some other environment that does not provide a full programming language.

DBA authority is required to use this function.

Example

In this example, you create a table, and insert an image into a column of the table. You can perform these steps from Interactive SQL.

  1. Create a table to hold some images.
    CREATE TABLE Pictures
    ( C1 INT DEFAULT AUTOINCREMENT PRIMARY KEY,
       Filename VARCHAR(254),
       Picture LONG BINARY );
  2. Insert the contents of portrait.gif, in the current working directory of the database server, into the table.
    INSERT INTO Pictures ( Filename, Picture )
    VALUES ( 'portrait.gif',
       xp_read_file( 'portrait.gif' ) );
See also