|Description:||The active:sqlQueryBlob service is used to retrieve a Binary Large Object from one column in a single row in a relational database table or view.|
sqlQueryBlob is an accessor using Active URI syntax with the following base identifiers:
and the following arguments: (for more details on argument passing details see here)
|Representation (java.lang.Object)||SQL query statement to be executed|
|Representation (java.lang.Object)||Connection pool configuration|
The following verb is supported:
The response representation of this accessor for SOURCE requests is unknown.
This accessor throws no documented exceptions.
To use sqlQueryBlob accessor you must import the module urn:org:netkernel:mod:db:
When a request with the SOURCE verb is issued to
the SQL query in the required operand argument is used with
connection pool specified in the optional configuration argument.
(If the configuration argument is not supplied then the service issues a
request for the resource
res:/etc/ConfigRDBMS.xml in the current
The response representation is returned as a
containing an in-memory representation of the requested information.
Because of the nature of a large object, only one can be returned by this service for each request. If more than one column is specified an exception is thrown. If no rows are returned by the query an exception is thrown. If more than one row is returned only the value from the first row is returned.
The following code implements the example query illustrated above.
request = context.createRequest("active:sqlQueryBlob"); request.addArgumentByValue("operand", "SELECT blob_column FROM big_stuff WHERE name='marvin';"); binary = context.issueRequest(request);
NetKernel reads an entire Binary Large Object into memory before returning it from this service.
The in-memory size restriction is currently 2 gigabytes due to the size limit of a