Search code examples
sql-serverrubysql-server-2000tiny-tds

How to insert a file into sql-server via tiny_tds?


In a data importing script:

 client = TinyTds.Client.new(...)
 insert_str = "INSERT INTO [...] (...) VALUE (...)"
 client.execute(insert_str).do

So far so good.

However, how can I attach a .pdf file into the varbinary field (SQL Server 2000)?


Solution

  • I ended up using activerecord:

    require 'rubygems'
    require 'tiny_tds'
    require 'activerecord-sqlserver-adapter'
    
    ..
    
    my_table.create(:file_name => "abc.pdf", :file_data => File.open("abc.pdf", "rb").read)
    

    For SQLServer 2000 support, go for 2.3.x version activerecord-sqlserver-adapter gem.