📄 odbc.html
字号:
corrupt data is not read)
<LI>Read committed
<LI>Repeatable read
<LI>Serializable (the highest level, where
transactions are completely isolated from one another)</LI></UL>
<P>SQLAPI++ maps different isolation levels on
<STRONG>ODBC</STRONG> server in the following way:</P>
<P> <STRONG
>SA_ReadUncommitted</STRONG> =
SQL_TXN_READ_UNCOMMITTED<BR><STRONG> SA_ReadCommitted</STRONG> =
SQL_TXN_READ_COMMITTED<BR><STRONG> SA_RepeatableRead</STRONG> =
SQL_TXN_REPEATABLE_READ<BR><STRONG> SA_Serializable</STRONG> =
SQL_TXN_SERIALIZABLE</P>
<P>For more details see <A
href="../OnLineDoc/Connection_setIsolationLevel.html">SAConnection::setIsolationLevel</A>.</P>
<P> </P>
<H3><A
name="Working with Long or Lob(CLob, BLob) data">Working with Long or Lob(CLob,
BLob) data</A> </H3>
<P>
SQLAPI++ supports four types for working with
Long or Lob(CLob, BLob) data:</P>
<P>
<TABLE border=1 cellPadding=1 cellSpacing=1 style="WIDTH: 100%"
width=100%>
<TR bgColor=navy>
<TD><FONT color=white
style="BACKGROUND-COLOR: #000080">Name</FONT></TD>
<TD><FONT color=white
style="BACKGROUND-COLOR: #000080">C
enum constant</FONT></TD>
</TR>
<TR>
<TD>LongBinary</TD>
<TD>SA_dtLongBinary</TD>
</TR>
<TR>
<TD>LongChar</TD>
<TD>SA_dtLongChar</TD>
</TR>
<TR>
<TD>BLob (Binary Large object)</TD>
<TD>SA_dtBLob</TD>
</TR>
<TR>
<TD>CLob (Character Large object)</TD>
<TD>SA_dtCLob</TD>
</TR></TABLE></P>
<P>SQLAPI++ maps data types to
<STRONG>ODBC</STRONG> constants. Actual mapping from constant to SQL
type is <STRONG>ODBC</STRONG> driver specific. The table below shows
how SQLAPI++ data types correspond with <STRONG>ODBC</STRONG>
constants:</P>
<P><EM>SA_dtLongBinary</EM>
<= > SQL_LONGVARBINARY<BR><EM>SA_dtLongChar</EM>
<=
> SQL_LONGVARCHAR<BR
><EM>SA_dtBLob</EM> = >
SQL_LONGVARBINARY<BR><EM>SA_dtCLob
</EM>=>
SQL_LONGVARCHAR</EM></P>
<P>
For more details see <A href="../HowTo/blobs.html">How To - Working with Long or Lob(CLob, BLob) data</A></P>
<P> </P>
<H3><A
name="Returning output parameters">Returning output
parameters</A> </H3>
<P>
In <STRONG>ODBC</STRONG>
processing output parameters depends on a
driver.</P>
<P>
If DBMS allows to return output parameters
then SQLAPI++ stores the returned values of output parameters in the
<A href="../OnLineDoc/Param.html" >SAParam</A>
objects bound to those
parameters. On some servers these returned values are not guaranteed
to be set until all results returned by the procedure have been
fetched (using <A href="../OnLineDoc/Command_FetchNext.html" >SACommand::FetchNext</A>
method).</P>
<P>
See ODBC driver documentation on output
parameters availability on different
DBMSs.</P>
<P>SQLAPI++ Library automatically creates <A href="../OnLineDoc/Param.html" >SAParam</A>
object to represent procedure
status return code or function return value (if any). You can refer
to this <A href="../OnLineDoc/Param.html" >SAParam</A>
object using SQLAPI++ predefined
name <STRONG>"RETURN_VALUE"</STRONG>.
</P>
<P>For more details see <A
href="../OnLineDoc/Command_Execute.html" >SACommand::Execute</A>,
<A href="../OnLineDoc/Param_Usage.html" >SAParam
object</A>, <A
href="../HowTo/return_param.html" >How To - Returning Output Parameters</A>.</P>
<P> </P>
<H3><A name="Cancelling queries">Cancelling
queries</A> </H3>
<P>
Using
<A href="../OnLineDoc/Command_Cancel.html" >SACommand::Cancel</A>
method you
can cancel the following types of processing on a statement:
</P>
<UL type=disc>
<LI>A function running asynchronously on the
statement.<BR>
<LI>
A function running on the statement on
another thread.</LI></UL>
<p>
SQLAPI++ calls <STRONG>SQLCancel</STRONG>
function to cancel a query. To get more
details see <STRONG>SQLCancel</STRONG> function
description in <STRONG>ODBC</STRONG>
documentation.
</p>
<P>For more details see <A
href="../OnLineDoc/Command_Cancel.html" >
SACommand::Cancel</A>.</P>
<P> </P>
<H3><A
name="Connection and command options">Connection, command, parameter and field
options</A> </H3>
<P>A server specific option can relate to a
connection, command, parameter or field. We recommend you
specify each option in an appropriate object, although it is
possible to specify them in the parental object as well. In that
case the option affects all the child objects. </P>
<P>A connection related option must be specified
in a <A href="../OnLineDoc/Connection.html">SAConnection</A>
object. </P>
<P>A command related option may be specified in
either <A href="../OnLineDoc/Connection.html">SAConnection</A>
object or <A href="../OnLineDoc/Command.html">SACommand</A>
object. If it is specified
in <A href="../OnLineDoc/Connection.html">SAConnection</A>
object it affects all
the commands on that connection. </P>
<P>A parameter related option may be specified in
<A href="../OnLineDoc/Connection.html">SAConnection</A>
object, <A href="../OnLineDoc/Command.html">SACommand</A>
object or <A href="../OnLineDoc/Param.html">SAParam</A>
object. If it is specified in <A href="../OnLineDoc/Connection.html">SAConnection</A>
object it affects all
the commands and therefore all the parameters on that connection. If
it is specified in <A href="../OnLineDoc/Command.html">SACommand</A>
object it affects all the
parameters on that command. </P>
<P>A field related option may be specified in
<A href="../OnLineDoc/Connection.html">SAConnection</A>
object, <A href="../OnLineDoc/Command.html">SACommand</A>
object or <A href="../OnLineDoc/Field.html">SAField</A>
object. If it is specified in <A href="../OnLineDoc/Connection.html">SAConnection</A>
object it affects all
the commands and therefore all the fields on that connection. If it
is specified in <A href="../OnLineDoc/Command.html">SACommand</A>
object it affects all the
fields on that command. </P>
<P> Specific
options for <STRONG>ODBC</STRONG>:</P>
<TABLE border=1 cellPadding=5 width=100%>
<TBODY>
<TR bgColor=#000094>
<TD width=17%>
<P><STRONG><FONT color=white face="">Option name / Scope</FONT>
</STRONG></P></TD>
<TD>
<P><STRONG><FONT color=white face=""> Description</FONT>
</STRONG></P></TD></TR>
<TR>
<TD><STRONG>
<P align=center>
<STRONG>UseManagerOnUNIX</STRONG>
</P>
<P align=center>
<STRONG></STRONG></STRONG>Connection
related. Should be specified before the first connection
is made. </P>
</TD>
<TD>
<P>
Forces SQLAPI++
Library to use specified
library on UNIX.
<BR >
</P>
<P><EM>Valid values</EM>
:
"<name of
library you
want to use>".
<BR><EM>Default value</EM>: "libiodbc.so.2".</P></TD>
</TR>
<TR>
<TD><STRONG>
<P align=center><STRONG>PreFetchRows</STRONG></P></STRONG>
<P align=center>Command related.
Should be specified before command execution.<STRONG><STRONG></STRONG></STRONG></P></TD>
<TD>
<P>Forces SQLAPI++ Library to fetch
rows in bulk, rather than retrieving records one by
one.</P>
<P><EM>Valid values</EM>: String containing number of rows in the fetch
buffer. <BR><EM>Default value</EM>:
"1".</P></TD>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -