mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-06 09:02:49 +08:00
753 lines
36 KiB
HTML
753 lines
36 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
compact3
|
||
</div>
|
||
<div class="subTitle">
|
||
javax.sql.rowset.spi
|
||
</div>
|
||
<h2 class="title" title="Class SyncProvider">Class SyncProvider</h2>
|
||
</div><div class="contentContainer">
|
||
<ul class="inheritance">
|
||
<li><a href="../../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.sql.rowset.spi.SyncProvider</li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">SyncProvider</span>
|
||
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
|
||
<div class="block">
|
||
<span>同步机制,可为断开<code>RowSet</code>对象提供读写器功能。</span>
|
||
<span>一个<code>SyncProvider</code>实现是一个扩展<code>SyncProvider</code>抽象类的类。</span>
|
||
<p> <span>A <code>SyncProvider</code>实现由唯一的ID标识,唯一的ID是完全限定的类名。</span> <span>该名称必须在<code>SyncFactory</code> SPI上注册,从而使实现可用于所有<code>RowSet</code>实现。</span> <span>在参考实施工厂机制使用该名称来实例化的实施,则其可提供<code>RowSet</code>对象与其读取器(一个<code>javax.sql.RowSetReader</code>对象)及其写入器(一个<code>javax.sql.RowSetWriter</code>对象)。</span> </p>
|
||
<p> <span>Jdbc <code>RowSet</code>实现规范提供了<code>SyncProvider</code>抽象类的两个参考实现: <code>RIOptimisticProvider</code>和<code>RIXMLProvider</code> 。</span> <span><code>RIOptimisticProvider</code>可以使用<code>RowSetReader</code>对象和<code>RowSetWriter</code>对象设置任何<code>RowSet</code>实现。</span> <span>但是,只有<code>RIXMLProvider</code>实现可以设置<code>XmlReader</code>对象和<code>XmlWriter</code>对象。</span> <span><code>WebRowSet</code>对象使用<code>XmlReader</code>对象以XML格式读取数据以填充该数据。</span> <span>它使用<code>XmlWriter</code>对象将其自身写入流或<code>java.io.Writer</code>对象以XML格式。</span> </p>
|
||
<h3> <span>1.0实施命名约定</span> </h3>
|
||
<span>作为<code>SyncProvider</code>实现的指南,应注意以下几点:</span>
|
||
<ul>
|
||
<li> <span>对于这个名字<code>SyncProvider</code>实现其完全限定类名。</span> </li>
|
||
<li> <span>建议厂商提供一个<code>SyncProvider</code>在一个名为软件包实施<code>providers</code> 。</span> </li>
|
||
</ul>
|
||
<p> <span>例如,如果名为Fred,Inc.的供应商提供了一个<code>SyncProvider</code>实现,则可以具有以下内容:</span> </p>
|
||
<pre> <span>Vendor name: Fred, Inc.
|
||
Domain name of vendor: com.fred
|
||
Package name: com.fred.providers
|
||
SyncProvider implementation class name: HighAvailabilityProvider
|
||
|
||
Fully qualified class name of SyncProvider implementation:
|
||
com.fred.providers.HighAvailabilityProvider</span> </pre>
|
||
<p> <span>以下代码行使用完全限定名来使用<code>SyncFactory</code>静态实例注册此实现。</span> </p>
|
||
<pre> <span>SyncFactory.registerProvider(
|
||
"com.fred.providers.HighAvailabilityProvider");</span> </pre>
|
||
<p> <span>提供参考实现的默认<code>SyncProvider</code>对象使用以下名称:</span> </p>
|
||
<pre> <span>com.sun.rowset.providers.RIOptimisticProvider</span> </pre>
|
||
<p> <span>供应商可以通过向jdbc@sun.com发送电子邮件,向Oracle Corporation注册一个<code>SyncProvider</code>实现类名称。</span> <span>Oracle将维护一个数据库,列出可用的<code>SyncProvider</code>实现,以便与符合<code>RowSet</code>的RowSet <code>SyncProvider</code>一起使用。</span> <span>该数据库将与已经维护的数据库类似,以列出可用的JDBC驱动程序。</span> </p>
|
||
<p> <span>供应商应参考参考实现同步提供程序,以获取有关如何实现新的<code>SyncProvider</code>实现的更多指导。</span> </p>
|
||
<h3> <span>2.0 <code>RowSet</code>对象如何获取它的提供者</span> </h3>
|
||
<span>断开连接的<code>Rowset</code>对象可以通过以下两种方式之一访问<code>SyncProvider</code>对象:</span>
|
||
<ul>
|
||
<li> <span>使用构造函数</span> <br/><pre> <span>CachedRowSet crs = new CachedRowSet(
|
||
"com.fred.providers.HighAvailabilitySyncProvider");</span> </pre></li>
|
||
<li> <span>使用<code>setSyncProvider</code>方法</span> <pre> <span>CachedRowSet crs = new CachedRowSet();
|
||
crs.setSyncProvider("com.fred.providers.HighAvailabilitySyncProvider");</span> </pre></li>
|
||
</ul>
|
||
<p> <span>默认情况下,RowSet同步提供程序的<code>RowSet</code>实现始终可用于Java平台。</span> <span>如果没有其他可插拔同步提供程序已经被正确注册,那么<code>SyncFactory</code>将自动生成默认的<code>SyncProvider</code>参考实现的实例。</span> <span>因此,在上述代码片段中,如果没有在<code>SyncFactory</code>实例中注册了名为<code>com.fred.providers.HighAvailabilitySyncProvider</code>的<code>SyncFactory</code> ,则<i>crs</i>将被分配给参考实现中的默认提供者,即<code>com.sun.rowset.providers.RIOptimisticProvider</code> 。</span> </p>
|
||
<h3> <span>3.0违规和同步问题</span> </h3>
|
||
<span>如果断开连接的<code>RowSet</code>对象和数据源之间的更新违反原始查询或基础数据源约束,则会导致所有断开<code>RowSet</code> RowSet实现及其指定的<code>SyncProvider</code>实现的未定义行为。</span>
|
||
<span>当发生这种违规行为时,不定义行为为<code>SyncProvider</code>实施确定自己最佳行动方案提供了更大的灵活性。</span>
|
||
<p> <span>A <code>SyncProvider</code>实现可以选择实现特定的处理程序来处理查询违规的一个子集。</span> <span>但是,如果SyncProvider实施不处理原始查询违规或更一般的数据源<code>SyncProvider</code>违规,则所有<code>SyncProvider</code>对象都必须抛出<code>SyncProviderException</code> 。</span> </p>
|
||
<h3> <span>4.0可更新的SQL VIEW</span> </h3>
|
||
<span>这是可能的任何断开或连接<code>RowSet</code>对象从每个从SQL最初制定了一个SQL查询来填充<code>VIEW</code> 。</span>
|
||
<span>虽然在许多情况下可以对基础视图执行更新,但是这种更新需要额外的元数据,这可能会有所不同。</span>
|
||
<span><code>SyncProvider</code>类提供两个常量来指示实现是否支持更新SQL <code>VIEW</code> 。</span>
|
||
<ul>
|
||
<li> <span><code><b>NONUPDATABLE_VIEW_SYNC</b></code> - 表示<code>SyncProvider</code>实现不支持与SQL <code>VIEW</code>作为<code>RowSet</code>对象的基础数据源。</span> </li>
|
||
<li> <span><code><b>UPDATABLE_VIEW_SYNC</b></code> - 表示<code>SyncProvider</code>实现支持与SQL <code>VIEW</code>作为基础数据源。</span> </li>
|
||
</ul>
|
||
<p> <span>如果<code>RowSet</code>对象使用SQL <code>VIEW</code>数据填充,则默认值不可<code>VIEW</code> 。</span> </p>
|
||
<h3> <span>5.0 <code>SyncProvider</code>常数</span> </h3>
|
||
<span><code>SyncProvider</code>类提供了三组常数,用作<code>SyncProvider</code>方法的返回值或参数。</span>
|
||
<span><code>SyncProvider</code>对象可以被实现为以不同程度的谨慎来执行RowSet对象及其底层数据源之间的<code>RowSet</code> 。</span>
|
||
<span>第一组常量表示如何处理同步。</span>
|
||
<span>例如, <code>GRADE_NONE</code>表示<code>SyncProvider</code>对象不会关心哪些数据有效,并且将简单地将<code>RowSet</code>数据写入数据源。</span>
|
||
<span><code>GRADE_MODIFIED_AT_COMMIT</code>表示提供者只会检查修改后的数据是否有效。</span>
|
||
<span>其他等级检查数据是否有效,或者在数据修改或加载时设置锁定。</span>
|
||
<ol>
|
||
<li> <span>常数表示<code>SyncProvider</code>对象的同步等级</span>
|
||
<ul>
|
||
<li> <span>SyncProvider.GRADE_NONE</span> </li>
|
||
<li> <span>SyncProvider.GRADE_MODIFIED_AT_COMMIT</span> </li>
|
||
<li> <span>SyncProvider.GRADE_CHECK_ALL_AT_COMMIT</span> </li>
|
||
<li> <span>SyncProvider.GRADE_LOCK_WHEN_MODIFIED</span> </li>
|
||
<li> <span>SyncProvider.GRADE_LOCK_WHEN_LOADED</span> </li>
|
||
</ul></li>
|
||
<li> <span>指示在数据源上设置什么锁的常量</span>
|
||
<ul>
|
||
<li> <span>SyncProvider.DATASOURCE_NO_LOCK</span> </li>
|
||
<li> <span>SyncProvider.DATASOURCE_ROW_LOCK</span> </li>
|
||
<li> <span>SyncProvider.DATASOURCE_TABLE_LOCK</span> </li>
|
||
<li> <span>SyncProvider.DATASOURCE_DB_LOCK</span> </li>
|
||
</ul></li>
|
||
<li> <span>指示<code>SyncProvider</code>对象是否可以执行对SQL <code>VIEW</code>更新的<code>VIEW</code></span> <br/> <span>这些常数在前面的部分(4.0)中有说明。</span>
|
||
<ul>
|
||
<li> <span>SyncProvider.UPDATABLE_VIEW_SYNC</span> </li>
|
||
<li> <span>SyncProvider.NONUPDATABLE_VIEW_SYNC</span> </li>
|
||
</ul></li>
|
||
</ol>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../../../javax/sql/rowset/spi/SyncFactory.html" title="javax.sql.rowset.spi中的类"><code>SyncFactory</code></a> , <a href="../../../../javax/sql/rowset/spi/SyncFactoryException.html" title="javax.sql.rowset.spi中的类"><code>SyncFactoryException</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- =========== FIELD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="field.summary">
|
||
<!-- --> </a> <h3>Field Summary</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
|
||
<caption>
|
||
<span>Fields</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Field and Description</th>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#DATASOURCE_DB_LOCK">DATASOURCE_DB_LOCK</a></span></code>
|
||
<div class="block">
|
||
表示在整个数据源上放置一个锁,该数据源是使用此
|
||
<code>SyncProvider</code>对象的
|
||
<code>RowSet</code>对象的数据源。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#DATASOURCE_NO_LOCK">DATASOURCE_NO_LOCK</a></span></code>
|
||
<div class="block">
|
||
表示始发数据源上没有锁。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#DATASOURCE_ROW_LOCK">DATASOURCE_ROW_LOCK</a></span></code>
|
||
<div class="block">
|
||
表示锁定被放置在用于填充使用此
|
||
<code>SyncProvider</code>对象的
|
||
<code>RowSet</code>对象的原始SQL语句所触及的行上。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#DATASOURCE_TABLE_LOCK">DATASOURCE_TABLE_LOCK</a></span></code>
|
||
<div class="block">
|
||
表示在用于填充使用此
|
||
<code>SyncProvider</code>对象的
|
||
<code>RowSet</code>对象的原始SQL语句所触及的所有表上都会放置一个锁。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#GRADE_CHECK_ALL_AT_COMMIT">GRADE_CHECK_ALL_AT_COMMIT</a></span></code>
|
||
<div class="block">
|
||
表示相对于始发数据源的高级乐观同步等级。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#GRADE_CHECK_MODIFIED_AT_COMMIT">GRADE_CHECK_MODIFIED_AT_COMMIT</a></span></code>
|
||
<div class="block">
|
||
表示相对于始发数据源的低级乐观同步等级。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#GRADE_LOCK_WHEN_LOADED">GRADE_LOCK_WHEN_LOADED</a></span></code>
|
||
<div class="block">
|
||
表示相对于始发数据源最悲观的同步等级。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#GRADE_LOCK_WHEN_MODIFIED">GRADE_LOCK_WHEN_MODIFIED</a></span></code>
|
||
<div class="block">
|
||
表示相对于始发数据源的悲观同步等级。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#GRADE_NONE">GRADE_NONE</a></span></code>
|
||
<div class="block">
|
||
表示不提供与始发数据源的同步。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#NONUPDATABLE_VIEW_SYNC">NONUPDATABLE_VIEW_SYNC</a></span></code>
|
||
<div class="block">
|
||
表明
|
||
<code>SyncProvider</code>实现
|
||
<b>不</b>支持之间的同步
|
||
<code>RowSet</code>对象和SQL
|
||
<code>VIEW</code>用来填充它。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>static int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#UPDATABLE_VIEW_SYNC">UPDATABLE_VIEW_SYNC</a></span></code>
|
||
<div class="block">
|
||
表示
|
||
<code>SyncProvider</code>实现支持RowSet对象与用于填充对象的SQL
|
||
<code>VIEW</code>之间的
|
||
<code>RowSet</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.summary">
|
||
<!-- --> </a> <h3>构造方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
|
||
<caption>
|
||
<span>构造方法</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colOne" scope="col">Constructor and Description</th>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#SyncProvider--">SyncProvider</a></span>()</code>
|
||
<div class="block">
|
||
创建默认的
|
||
<code>SyncProvider</code>对象。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code>abstract int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getDataSourceLock--">getDataSourceLock</a></span>()</code>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>实现中当前的数据源锁严重级别。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>abstract int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getProviderGrade--">getProviderGrade</a></span>()</code>
|
||
<div class="block">
|
||
返回一个常量,表示一个
|
||
<code>RowSet</code>对象可以从此
|
||
<code>SyncProvider</code>对象预期的
|
||
<code>SyncProvider</code> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getProviderID--">getProviderID</a></span>()</code>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>对象的唯一标识符。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>abstract <a href="../../../../javax/sql/RowSetReader.html" title="interface in javax.sql">RowSetReader</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getRowSetReader--">getRowSetReader</a></span>()</code>
|
||
<div class="block">
|
||
返回一个
|
||
<code>javax.sql.RowSetReader</code>对象,可以用于使用数据填充一个
|
||
<code>RowSet</code>对象。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code>abstract <a href="../../../../javax/sql/RowSetWriter.html" title="interface in javax.sql">RowSetWriter</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getRowSetWriter--">getRowSetWriter</a></span>()</code>
|
||
<div class="block">
|
||
返回一个
|
||
<code>javax.sql.RowSetWriter</code>对象,可用于将一个
|
||
<code>RowSet</code>对象的数据写回底层数据源。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<td class="colFirst"><code>abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getVendor--">getVendor</a></span>()</code>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>实例的供应商名称
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<td class="colFirst"><code>abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getVersion--">getVersion</a></span>()</code>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>实例的发行版本。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<td class="colFirst"><code>abstract void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#setDataSourceLock-int-">setDataSourceLock</a></span>(int datasource_lock)</code>
|
||
<div class="block">
|
||
在datasource_lock指示的级别设置底层数据源上的
|
||
<i>锁定</i> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i8">
|
||
<td class="colFirst"><code>abstract int</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/sql/rowset/spi/SyncProvider.html#supportsUpdatableView--">supportsUpdatableView</a></span>()</code>
|
||
<div class="block">
|
||
返回此是否
|
||
<code>SyncProvider</code>实现可以一个之间执行同步
|
||
<code>RowSet</code>对象和SQL
|
||
<code>VIEW</code>在从该数据源
|
||
<code>RowSet</code>对象得到了它的数据。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
|
||
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ============ FIELD DETAIL =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="field.detail">
|
||
<!-- --> </a> <h3>字段详细信息</h3> <a name="GRADE_NONE">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>GRADE_NONE</h4> <pre>public static final int GRADE_NONE</pre>
|
||
<div class="block">
|
||
<span>表示不提供与始发数据源的同步。</span>
|
||
<span>一个<code>SyncProvider</code>实现返回此等级将简单的写在更新<code>RowSet</code>对象的基础数据源不检查任何数据的有效性。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.GRADE_NONE">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="GRADE_CHECK_MODIFIED_AT_COMMIT">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>GRADE_CHECK_MODIFIED_AT_COMMIT</h4> <pre>public static final int GRADE_CHECK_MODIFIED_AT_COMMIT</pre>
|
||
<div class="block">
|
||
<span>表示相对于始发数据源的低级乐观同步等级。</span>
|
||
<span>一个<code>SyncProvider</code>实现返回此等级将只检查已更改的行。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.GRADE_CHECK_MODIFIED_AT_COMMIT">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="GRADE_CHECK_ALL_AT_COMMIT">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>GRADE_CHECK_ALL_AT_COMMIT</h4> <pre>public static final int GRADE_CHECK_ALL_AT_COMMIT</pre>
|
||
<div class="block">
|
||
<span>表示相对于始发数据源的高级乐观同步等级。</span>
|
||
<span>一个<code>SyncProvider</code>实现返回此等级将检查所有的行,包括未更改的行。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.GRADE_CHECK_ALL_AT_COMMIT">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="GRADE_LOCK_WHEN_MODIFIED">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>GRADE_LOCK_WHEN_MODIFIED</h4> <pre>public static final int GRADE_LOCK_WHEN_MODIFIED</pre>
|
||
<div class="block">
|
||
<span>表示相对于始发数据源的悲观同步等级。</span>
|
||
<span>一个<code>SyncProvider</code>实现返回此等级将在原始数据源锁定该行。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.GRADE_LOCK_WHEN_MODIFIED">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="GRADE_LOCK_WHEN_LOADED">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>GRADE_LOCK_WHEN_LOADED</h4> <pre>public static final int GRADE_LOCK_WHEN_LOADED</pre>
|
||
<div class="block">
|
||
<span>表示相对于始发数据源最悲观的同步等级。</span>
|
||
<span>一个<code>SyncProvider</code>实现返回此等级将锁定受用于填充原来的语句整个视图和/或表<code>RowSet</code>对象。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.GRADE_LOCK_WHEN_LOADED">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="DATASOURCE_NO_LOCK">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>DATASOURCE_NO_LOCK</h4> <pre>public static final int DATASOURCE_NO_LOCK</pre>
|
||
<div class="block">
|
||
<span>表示始发数据源上没有锁。</span>
|
||
<span>这是所有<code>SyncProvider</code>实现的默认锁定设置,除非<code>RowSet</code>对象另有指示。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.DATASOURCE_NO_LOCK">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="DATASOURCE_ROW_LOCK">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>DATASOURCE_ROW_LOCK</h4> <pre>public static final int DATASOURCE_ROW_LOCK</pre>
|
||
<div class="block">
|
||
表示锁定被放置在用于填充使用此
|
||
<code>SyncProvider</code>对象的
|
||
<code>RowSet</code>对象的原始SQL语句所触及的行上。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.DATASOURCE_ROW_LOCK">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="DATASOURCE_TABLE_LOCK">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>DATASOURCE_TABLE_LOCK</h4> <pre>public static final int DATASOURCE_TABLE_LOCK</pre>
|
||
<div class="block">
|
||
表示在用于填充正在使用此
|
||
<code>SyncProvider</code>对象的
|
||
<code>RowSet</code>对象的原始SQL语句所触及的所有表上都放置了一个锁。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.DATASOURCE_TABLE_LOCK">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="DATASOURCE_DB_LOCK">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>DATASOURCE_DB_LOCK</h4> <pre>public static final int DATASOURCE_DB_LOCK</pre>
|
||
<div class="block">
|
||
表示在作为使用此
|
||
<code>SyncProvider</code>对象的
|
||
<code>RowSet</code>对象的数据源的整个数据源上放置一个锁。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.DATASOURCE_DB_LOCK">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="UPDATABLE_VIEW_SYNC">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>UPDATABLE_VIEW_SYNC</h4> <pre>public static final int UPDATABLE_VIEW_SYNC</pre>
|
||
<div class="block">
|
||
表示
|
||
<code>SyncProvider</code>实现支持RowSet对象与用于填充对象的SQL
|
||
<code>VIEW</code>之间的
|
||
<code>RowSet</code> 。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.UPDATABLE_VIEW_SYNC">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="NONUPDATABLE_VIEW_SYNC">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>NONUPDATABLE_VIEW_SYNC</h4> <pre>public static final int NONUPDATABLE_VIEW_SYNC</pre>
|
||
<div class="block">
|
||
表明
|
||
<code>SyncProvider</code>实现
|
||
<b>不</b>支持之间的同步
|
||
<code>RowSet</code>对象和SQL
|
||
<code>VIEW</code>用来填充它。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../constant-values.html#javax.sql.rowset.spi.SyncProvider.NONUPDATABLE_VIEW_SYNC">Constant Field Values</a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="SyncProvider--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>SyncProvider</h4> <pre>public SyncProvider()</pre>
|
||
<div class="block">
|
||
创建默认的
|
||
<code>SyncProvider</code>对象。
|
||
</div> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="getProviderID--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getProviderID</h4> <pre>public abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getProviderID()</pre>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>对象的唯一标识符。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>String</code>对象具有此
|
||
<code>SyncProvider</code>对象的完全限定类名
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getRowSetReader--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getRowSetReader</h4> <pre>public abstract <a href="../../../../javax/sql/RowSetReader.html" title="interface in javax.sql">RowSetReader</a> getRowSetReader()</pre>
|
||
<div class="block">
|
||
返回一个
|
||
<code>javax.sql.RowSetReader</code>对象,可以用于使用数据填充
|
||
<code>RowSet</code>对象。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>javax.sql.RowSetReader</code>对象
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getRowSetWriter--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getRowSetWriter</h4> <pre>public abstract <a href="../../../../javax/sql/RowSetWriter.html" title="interface in javax.sql">RowSetWriter</a> getRowSetWriter()</pre>
|
||
<div class="block">
|
||
返回一个
|
||
<code>javax.sql.RowSetWriter</code>对象,可用于将
|
||
<code>RowSet</code>对象的数据写回基础数据源。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>javax.sql.RowSetWriter</code>对象
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getProviderGrade--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getProviderGrade</h4> <pre>public abstract int getProviderGrade()</pre>
|
||
<div class="block">
|
||
返回一个常量,表示
|
||
<code>RowSet</code>对象可以从此
|
||
<code>SyncProvider</code>对象预期的
|
||
<code>SyncProvider</code> 。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个int是以下常量之一:SyncProvider.GRADE_NONE,SyncProvider.GRADE_CHECK_MODIFIED_AT_COMMIT,SyncProvider.GRADE_CHECK_ALL_AT_COMMIT,SyncProvider.GRADE_LOCK_WHEN_MODIFIED,SyncProvider.GRADE_LOCK_WHEN_LOADED
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="setDataSourceLock-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>setDataSourceLock</h4> <pre>public abstract void setDataSourceLock(int datasource_lock)
|
||
throws <a href="../../../../javax/sql/rowset/spi/SyncProviderException.html" title="class in javax.sql.rowset.spi">SyncProviderException</a></pre>
|
||
<div class="block">
|
||
<span>在datasource_lock指示的级别设置底层数据源上的<i>锁定</i> 。</span>
|
||
<span>这应该使<code>SyncProvider</code>通过增加或减少其为成功同步提供的乐观程度来调整其行为。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>datasource_lock</code> - 以下<code>datasource_lock</code>之一,表示需要数据源锁的严重性级别:</span>
|
||
<pre> <span>SyncProvider.DATASOURCE_NO_LOCK,
|
||
SyncProvider.DATASOURCE_ROW_LOCK,
|
||
SyncProvider.DATASOURCE_TABLE_LOCK,
|
||
SyncProvider.DATASOURCE_DB_LOCK,</span> </pre>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../../javax/sql/rowset/spi/SyncProviderException.html" title="class in javax.sql.rowset.spi">SyncProviderException</a></code> - 如果设置了不受支持的数据源锁定级别。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../javax/sql/rowset/spi/SyncProvider.html#getDataSourceLock--"><code>getDataSourceLock()</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getDataSourceLock--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getDataSourceLock</h4> <pre>public abstract int getDataSourceLock()
|
||
throws <a href="../../../../javax/sql/rowset/spi/SyncProviderException.html" title="class in javax.sql.rowset.spi">SyncProviderException</a></pre>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>实现中当前数据源锁的严重级别。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>一个常量,表示当前的数据源锁定级别在此<code>SyncProvider</code>有效;</span>
|
||
<span>以下之一:</span>
|
||
<pre> <span>SyncProvider.DATASOURCE_NO_LOCK,
|
||
SyncProvider.DATASOURCE_ROW_LOCK,
|
||
SyncProvider.DATASOURCE_TABLE_LOCK,
|
||
SyncProvider.DATASOURCE_DB_LOCK</span> </pre>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../../javax/sql/rowset/spi/SyncProviderException.html" title="class in javax.sql.rowset.spi">SyncProviderException</a></code> - 如果确定数据源锁定级别发生错误。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../../../javax/sql/rowset/spi/SyncProvider.html#setDataSourceLock-int-"><code>setDataSourceLock(int)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="supportsUpdatableView--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>supportsUpdatableView</h4> <pre>public abstract int supportsUpdatableView()</pre>
|
||
<div class="block">
|
||
返回此是否
|
||
<code>SyncProvider</code>实现可以一个之间执行同步
|
||
<code>RowSet</code>对象和SQL
|
||
<code>VIEW</code>在从该数据源
|
||
<code>RowSet</code>对象得到了它的数据。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>一个<code>int</code>说这个<code>SyncProvider</code>对象是否支持更新SQL <code>VIEW</code> ;</span>
|
||
<span>以下之一:SyncProvider.UPDATABLE_VIEW_SYNC,SyncProvider.NONUPDATABLE_VIEW_SYNC</span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getVersion--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>getVersion</h4> <pre>public abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getVersion()</pre>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>实例的发行版本。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>String</code>详细说明的发行版本
|
||
<code>SyncProvider</code>实施
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getVendor--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>getVendor</h4> <pre>public abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getVendor()</pre>
|
||
<div class="block">
|
||
返回此
|
||
<code>SyncProvider</code>实例的供应商名称
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
一个
|
||
<code>String</code>详细说明了这个
|
||
<code>SyncProvider</code>实现的供应商名称
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |