miguel
December 21, 2012, 6:42pm
1
Hello,
I’m learning Ruby and I’m trying to save to disk some content that is in
sql server in a column of type ‘Image’.
Problem is that the column with the content always have the same
size(4096) whem I’m iterating through the results.
My code so far:
client = TinyTds::Client.new(:username => ‘someuser’, :password =>
‘somepass’, :dataserver => ‘someserver’, :database => ‘somedb’)
result = client.execute(“SELECT top 5 Content,DirName,LeafName FROM
sometable where ListID=‘819B’ AND Content is not null”)
result.each do |row|
directory_name = File.join(“d:” , row[“DirName”])
FileUtils.mkdir_p(directory_name) unless File.exists?(directory_name)
filename = File.join(directory_name , row[“LeafName”])
p row[“Content”].length # Always returns 4096…
File.open(filename, “w”) do |myfile|
myfile.write(row[“Content”])
end
end
miguel
December 21, 2012, 7:10pm
2
Subject: Tinytds - Save binary as file
Date: Sat 22 Dec 12 02:42:55AM +0900
Quoting Miguel M. ([email protected] ):
File.open(filename, “w”) do |myfile|
If you want to write binary (i.e. unadulterated) content, you must add
a ‘b’, as follows:
File.open(filename, “wb”) do |myfile|
Carlo
miguel
December 22, 2012, 2:36pm
3
On Fri, Dec 21, 2012 at 11:42 AM, Miguel M. [email protected]
wrote:
client = TinyTds::Client.new(:username => ‘someuser’, :password =>
p row[“Content”].length # Always returns 4096…
File.open(filename, “w”) do |myfile|
myfile.write(row[“Content”])
end
end
–
Posted via http://www.ruby-forum.com/ .
Can you show the table schema?
miguel
December 26, 2012, 11:00am
4
“wb” didn’t work.
Here is the table schema
CREATE TABLE [dbo].[Docs](
[Id] [uniqueidentifier] NOT NULL,
[ListId] [uniqueidentifier] NOT NULL,
[DirName] nvarchar NOT NULL,
[LeafName] nvarchar NOT NULL,
[Content] [image] NULL)
miguel
February 2, 2013, 4:54am
6
See here
READTEXT (Transact-SQL)
The default is 4Kb when no size parameter is specified
Also see
https://groups.google.com/forum/#!msg/rails-sqlserver-adapter/uRq9355DP94/wpH1d3TVHFEJ
seems there is a config file that can impact size of data returned