📄 otl4_ex365.htm
字号:
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="Author" content="Sergei Kuchin">
<meta name="GENERATOR"
content="Mozilla/4.77 [en] (Win95; U) [Netscape]">
<meta name="KeyWords"
content="OTL, Oracle, ODBC, DB2, CLI, database API, C++, Template Library">
<title>OTL 4.0, Example 363 (VARCHAR UNICODE Insert/Select and
#define OTL_UNICODE_CHAR_TYPE)</title>
</head>
<body>
<center>
<h1>OTL 4.0, Example 365 (#define OTL_UNICODE_EXCEPTION_AND_RLOGON)</h1>
</center>
<h2>Source Code</h2>
<pre>// One of the following two #define's enables ODBC / DB2 CLI <br>// Unicode SQLxxxW functions<br>#define UNICODE<br>#define _UNICODE<br><br>#include <iostream><br>using namespace std;<br><br>#include <stdio.h></pre>
<pre>#define OTL_ODBC_MSSQL_2005 // Compile OTL 4/ODBC, MS SQL 2005<br>//#define OTL_ODBC // Compile OTL 4/ODBC. Uncomment this when used with MS SQL 7.0/ 2000<br>#define <a
href="otl3_compile.htm#OTL_UNICODE">OTL_UNICODE</a> // Enable Unicode OTL for ODBC<br><br>// Enable OTL Unicode rlogon and otl_exception for ODBC<br>#define <a
href="otl3_compile.htm#OTL_UNICODE_EXCEPTION_AND_RLOGON">OTL_UNICODE_EXCEPTION_AND_RLOGON</a> <br><br>#if defined(__GNUC__)<br>#define <a
href="otl3_compile.htm#OTL_UNICODE_CHAR_TYPE">OTL_UNICODE_CHAR_TYPE</a> SQLWCHAR<br>#else<br>#define <a
href="otl3_compile.htm#OTL_UNICODE_CHAR_TYPE">OTL_UNICODE_CHAR_TYPE</a> wchar_t<br>#endif<br><br>#include <otlv4.h> // include the OTL 4.0 header file<br><br><a
href="otl3_connect_class.htm">otl_connect</a> db; // connect object<br><br>int main()<br>{<br> <a
href="otl3_connect_class.htm">otl_connect::otl_initialize</a>(); // initialize the database API environment<br> try{<br>// Special Unicode rlogon function<br> db.<a
href="otl3_connect_class.htm#logon_odbc_unicode">rlogon</a>(L"scott",<br> L"tiger",<br> L"mssqlxxx"<br> ); // connect to the database<br><br> }<br><br> catch(<a
href="otl3_exception_class.htm">otl_exception</a>& p){ // intercept OTL exceptions<br>#if defined(__GNUC__)<br> OTL_UNICODE_CHAR_TYPE* c=p.msg;<br> while(*c){<br> cerr<<(char)*c;<br> ++c;<br> }<br> cerr<<endl;<br> c=p.sqlstate;<br> while(*c){<br> cerr<<(char)*c;<br> ++c;<br> }<br> cerr<<endl;<br>#else<br> wcerr<<p.msg<<endl; // print out error message<br> wcerr<<p.sqlstate<<endl; // print out error sqlstate<br> wcerr<<p.stm_text<<endl; // print out SQL that caused the error<br> wcerr<<p.var_info<<endl; // print out the variable that caused the error<br>#endif<br> }<br><br> db.logoff(); // disconnect from the database<br><br> return 0;<br><br>}</pre>
<h2>
Output</h2>
<pre>[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified<br>IM002<br><br><hr
width="100%"></pre>
<center><a href="otl3_examples.htm">Examples</a> <a href="otl3.htm">Contents</a><a
href="home.htm">Go
Home</a></center>
<p>Copyright © 1996, 2008, Sergei Kuchin, email: <a
href="mailto:skuchin@aceweb.com">skuchin@aceweb.com</a>,
<a href="mailto:skuchin@gmail.com">skuchin@gmail.com
<script language="JavaScript">
<!-- hide from old browsers
var modDate = new Date(document.lastModified)
document.write("<i> Last Updated:</i> " + (modDate.getMonth()+1) + "/" +
modDate.getDate() + "/" + "0"+(modDate.getYear())%100+".");
//-->
</script></a>.
</p>
<p><i>Permission to use, copy, modify and redistribute this document
for
any purpose is hereby granted without fee, provided that the above
copyright
notice appear in all copies.</i>
</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -