Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Reading Binary Data from SQL Request

  • To: mathgroup at smc.vnet.net
  • Subject: [mg110412] Re: Reading Binary Data from SQL Request
  • From: Stephan Schiffels <stephan80 at mac.com>
  • Date: Wed, 16 Jun 2010 05:48:37 -0400 (EDT)
  • References: <E9BE6A0FB1C64EC4ADDA18FE05A233B2@underdog>

Thank you for you help.

I have found a way around this problem, which goes along the line of the solution below, but circumvents the Stream:

myRealDataString = FromCharacterCode[data[[1,1,1]]];

reals = ImportString[myRealDataString, "Real64"];

This works.

I might even switch my database-column format to pure Text, then I don't even have to use FromCharacterCode.

Anyway, I guess the problem is solved,

Stephan
Am 16.06.2010 um 10:21 schrieb Hans Michel:

> Try
> 
> myRealDataString = FromCharacterCode[ data[[1, 1, 1]] ];
> 
> myRealDataStream = StringToStream[myRealDataString];
> 
> num = BinaryRead[myRealDataStream , "Real64"];
> 
> Not sure of above step as I don't have a db with bunary data that can be
> 
> read as 64-bit IEEE double-precision numbers.
> 
> Close[myRealDataStream]
> 
> Hans
> 
> "Stephan Schiffels" <stephan80 at mac.com> wrote in message 
> news:hv76ig$k0q$1 at smc.vnet.net...
>> Dear group,
>> 
>> I use DatabaseLink to retrieve binary data from a database.
>> So lets say, I retrieve the data as:
>> 
>> Needs["DatabaseLink`"];
>> conn = OpenSQLConnection["myDB"];
>> data = SQLSelect[conn, "myTable", "myBinaryField"];
>> 
>> Then the type of data[[1,1]] is an SQLBinary-Object, containing a list
> of 
>> bytes, accessible as the first item of the SQLBinary-Wrapper: 
>> data[[1,1.1]]
>> 
>> I need to read this binary data as a sequence of double precision
> floating 
>> point numbers, similar to the following command:
>> 
>> BinaryRead[stream, "Real64"], where "stream" is a file on the
> harddisk.
>> 
>> I have not figured out how to do this with binary data that is already
> in 
>> memory, rather then in a file. All I can find in the documentation is 
>> concerned with File I/O.
>> 
>> What I can do is to use a temporary file:
>> 
>> BinaryWrite["tmp", data[[1,1,1]]];
>> Close["tmp"];
>> num = BinaryRead["tmp", "Real64"];
>> 
>> But there clearly should be a way to avoid the creation of binary
> files 
>> here...
>> 
>> I appreciate any help.
>> 
>> Thanks,
>> 
>> Stephan
>> 
>> 
> 
> 



  • Prev by Date: Re: Reading Binary Data from SQL Request
  • Next by Date: Re: Divergent integration result
  • Previous by thread: Re: Reading Binary Data from SQL Request
  • Next by thread: Re: Reading Binary Data from SQL Request