ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzahh_5.4.0.1/jdbblob.htm

100 lines
6.9 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="AS400JDBCBlob class" />
<meta name="abstract" content="You can use a AS400JDBCBlob object to access binary large objects (BLOBs), such as sound byte (.wav) files or image (.gif) files." />
<meta name="description" content="You can use a AS400JDBCBlob object to access binary large objects (BLOBs), such as sound byte (.wav) files or image (.gif) files." />
<meta name="copyright" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="jdbblob" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>AS400JDBCBlob class</title>
</head>
<body id="jdbblob"><a name="jdbblob"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">AS400JDBCBlob class</h1>
<div><p>You can use a AS400JDBCBlob object to access binary large objects
(BLOBs), such as sound byte (.wav) files or image (.gif) files.</p>
<div class="section"><p><a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html">AS400JDBCBlob</a> </p>
<p>The key difference
between the AS400JDBCBlob class and the AS400JDBCBlobLocator class is where
the blob is stored. With the AS400JDBCBlob class, the blob is stored in the
database, which inflates the size of the database file. The AS400JDBCBlobLocator
class stores a locator (think of it as a pointer) in the database file that
points to where the blob is located.</p>
<p>With the AS400JDBCBlob class, the
lob threshold property can be used. This property specifies the maximum large
object (LOB) size (in kilobytes) that can be retrieved as part of a result
set. LOBs that are larger than this threshold are retrieved in pieces using
extra communication to the server. Larger LOB thresholds reduce the frequency
of communication to the server, but they download more LOB data, even if it
is not used. Smaller lob thresholds may increase frequency of communication
to the server, but they only download LOB data as it is needed. See <a href="jdbcproperties.htm#jdbcproperties">JDBC properties</a> for information
about additional properties that are available.</p>
<p>Using the AS400JDBCBlob
class, you can do the following:</p>
<ul><li>Return the entire blob as a <a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html#GETBINARYSTREAM()">stream of uninterpreted bytes</a></li>
<li>Return part of the <a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html#GETBYTES(LONG, INT)">contents</a> of the blob</li>
<li>Return the <a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html#LENGTH()">length</a> of the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html#SETBINARYSTREAM(LONG)">Create a binary stream</a> to write to the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html#SETBYTES(LONG, BYTE[])">Write a byte array</a> to the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html#SETBYTES(LONG, BYTE[], INT, INT)">Write all or a portion of byte array</a> to the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlob.html#TRUNCATE(LONG)">Truncate</a> the blob</li>
</ul>
</div>
<div class="section" id="jdbblob__blobexamples"><a name="jdbblob__blobexamples"><!-- --></a><h4 class="sectiontitle">Examples</h4><p>The following examples
show how to use the AS400JDBCBlob class to read from a blob and update a blob:</p>
</div>
<div class="section"><p><strong>Example: Using the AS400JDBCBlob class to read from a blob</strong></p>
<pre> Blob blob = resultSet.getBlob(1);
long length = blob.length();
byte[] bytes = blob.getBytes(1, (int) length);</pre>
<p><strong>Example:
Using the AS400JDBCBlob class to update a blob</strong></p>
<pre> ResultSet rs = statement.executeQuery ("SELECT BLOB FROM MYTABLE");
rs.absolute(5);
Blob blob = rs.getBlob(1);
// Change the bytes in the blob, starting at the seventh byte
// of the blob
blob.setBytes (7, new byte[] { (byte) 57, (byte) 58, (byte) 98});
//Update the blob in the result set, changing the blob starting
// at the seventh byte of the blob (1-based) and truncating the
// blob at the end of the updated bytes (the blob now has 9 bytes).
rs.updateBlob(1, blob);
// Update the database with the change. This will change the blob
// in the database starting at the seventh byte of the blob, and
// truncating at the end of the updated bytes.
rs.updateRow();
rs.close();</pre>
</div>
<div class="section" id="jdbblob__jdbcblobloc"><a name="jdbblob__jdbcblobloc"><!-- --></a><h4 class="sectiontitle">AS400JDBCBlobLocator class</h4><p>You
can use a <a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#NAVBAR_TOP">AS400JDBCBlobLocator</a> object to access a binary large
objects.</p>
<p>Using the AS400JDBCBlobLocator class, you can do the following:</p>
<ul><li>Return the entire blob as a <a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#GETBINARYSTREAM()">stream of uninterpreted bytes</a></li>
<li>Return part of the <a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#GETBYTES(LONG, INT)">contents</a> of the blob</li>
<li>Return the <a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#LENGTH()">length</a> of the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#SETBINARYSTREAM(LONG)">Create a binary stream</a> to write to the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#SETBYTES(LONG, BYTE[])">Write a byte array</a> to the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#SETBYTES(LONG, BYTE[], INT, INT)">Write all or a portion of byte array</a> to the blob</li>
<li><a href="javadoc/com/ibm/as400/access/AS400JDBCBlobLocator.html#TRUNCATE(LONG)">Truncate</a> the blob</li>
</ul>
</div>
</div>
</body>
</html>