DB2 Connectivity (Syniti DC)
評価期間は何日間ですか?
評価用ライセンスキーが発行されてから14日間となります。
Syniti Data Connectivity (略: Syniti DC)て何ですか?
『DB2 Connectivity』はVer9.7から名称を『Syniti(スィニティ)Data Connectivity(略称:Syniti DC)』に変更しました。
名称のみの変更で機能に変更はありません。
今後名称をSyniti Data Connectivityに変更してまいります。
HiT Db2 Connectivity製品の選択方法 ( ID:1635)
○もしアプリケーションがADO.NET または Visual Studioで構築されたいれば、Ritmo (.NET)を選択
○もしアプリケーションがJavaで構築されていればHiT JDBCを選択
○もしアプリケーションが Powerbuilder等の他で構築されていればHiT ODBC か HiT OLEDBを選択
ただしHiT ODBCはリレーショナル・データベース形式のみをサポートし、HiT OLEDBはリレーショナル+他のすべてのデータ形式にサポートします。
ODBC/400 と ODBC/Db2の異差
●HiT ODBC/DB2およびHiT ODBC Server/DB2はIBM Db2 on z/OS, Linux, Unix, Windowsサーバとの通信でDRDAプロトコールを使用します。 HiT ODBC/DB2およびHiT ODBC Server/DB2は、以下のIBM Db2環境で動作します。
· IBM Db2 LUW
· IBM Db2 for z/OS (OS/390)
· IBM Db2 for i – supporting IBM OS/400 Operating Systems V4R2 or higher
●HiT ODBC / 400およびHiT ODBC Server / 400は、ODBSプロトコルを使用し、IBM iオペレーティング・システムV3R1以上を必要とします。
HiT DB2 Connectivity Developer Edition (DE: 開発者版)について
IBMのi5, System i, iSeries, AS/400上で稼動するDB2データをWindowsでのActive Server Page(ASP)に利用したり、Visual Basicアプリケーションに利用したりすることは通常は簡単ではありません。HiT ODBC Server/400 Developer EditionとHiT OLEDB Server/400 Developer Editionに含まれるHiT ASPと HiT VBツールキットを利用することにより、それらの開発時間を大幅に短縮できます。
○ HiT ODBC Server/400 Developer Edition (DE: 開発者版)はi5, System i, iSeries, AS/400上で稼動するIBM DB2をアクセスするためのSQLミドルウェアで、Windowsプラットフォーム上で稼動し、ユーザまたはサードパーティのアプリケーションで利用されます。HiT ODBC Server/400 DEはDB2データのアクセス、リトリーブ、アップデートにWindows Open Database Connectivity (ODBC)をサポートします。またActive Server Page(ASP)と Visual Basic のツールキットを含みADO経由でDB2データを接続、クエリー、リトリーブ、アップデートが可能なソースコードを含むサンプル・アプリケーションが含まれます。
またIBM Optimized Database Server (ODBS)プロトコール標準を利用しているので、HiT ODBC Server/400 DEはネイティブなIBM OS/400サーバ・プログラムを使用し、i5, System i, iSeries, AS/400プラットフォームに特別なソフトウェアは必要ありません。
○ HiT OLEDB Server/400 Developer Edition (DE)は同様にi5, System i, iSeries, AS/400上で稼動するIBM DB2をアクセスするためのSQLミドルウェアで、Windowsプラットフォーム上で稼動し、ユーザまたはサードパーティのアプリケーションで利用されます。HiT OLEDB Server/400 DEはADO v2.x経由、またはOEL DBオブジェクト・プロパティ経由での直接にアプリケーションSQLステートメントが可能で、そしてDB2データのアクセス、リトリーブ、アップデートが可能です。また同様にHiT ASPと HiT VBツールキットを含みます。
●HiT ASP ツールキット
Webアプリケーションの開発の高速化に最適
Microsoft IIS Web開発用のHiT Active Server Page (ASP) ツールキットはHiT ODBC Serverミドルウェアとの組合せでIIS ASP開発環境でのDB2のWeb統合に有益なスタートをもたらします。
HiT ASPツールキットに含まれるWebアプリケーションからDB2テーブルに対するクエリー、アップデートの検証済ASPサンプルを開発者が利用することでWebアプリケーション・開発時間を大幅に削減できます。サンプルにはADOレコードセットを使用しての接続確立方法、ストアード・プロシージャ実行、テーブル・データのリトリーブとインサート、HTML経由での結果表示などがあります。すべてのサンプルは各種のDB2サーバとプラットフォームで検証されています。HiT ASPツールキットはWindowsフラットフォームで稼動し、HiT ODBCサーバ製品経由でDB2サーバとコミュニケーションを行います。
●HiT VBツールキット
高速VBアプリケーション開発に最適
HiT VBツールキットはすべてのHiT ODBC と OLE DB開発者版製品に含まれMicrosoft Visual Basicを使用する開発者をサポートします。HiT ODBC と OLE DBミドルウェア製品と組み合わせて使用することにより、Visual Basic開発環境でのDB2アプリケーション・インテグレーションに有益なスタートをもたらします。
HiT VBツールキットでADO, RDO, DAO, ODBCDirectインターフェイスを使用してDB2テーブル・データにアクセスするためのソース・コード・サンプルを開発者に提供することにより、アプリケーションの開発時間を削減することができます。サンプルはレコードセットを使用しての接続確立、ストアード・プロシージャの実行、DB2データのアップデートなどが含まれます。すべてのサンプルは各種のDB2サーバとプラットフォームで検証されています。HiT VBツールキットはWindowsフラットフォームで稼動し、HiT ODBCとOLE DB製品経由でDB2サーバとのコミュニケーションを行います。
Q: 各プラットフォームでのDB2用のデフォルトHost Code Pageとポート・ナンバーは?
A:
AIX
Host Code Page – 819 Latin
Port Number – 446
Linux
Host Code Page – 819
Port Number – 50000
OS390
Host Code Page – 037
Port Number – 446
OS400 (AS/400)
Host Code Page 037
Port Number 8471
Windows Server
Host Code Page – 1252
Port Number – 50000
.NET経由でAS/400に接続する時にHiT OLEDB/400を選択するのかRitmo/iを選択するのか?
.NETアプリケーション開発者はAS/400サーバへアクセスするためにはマイクロソフトが提供するADO.NET-to-OLE DBまたは-ODBC 使用してODBC または OLEDBのどちらかを経由してそのリモートのデータベースに接続します。しかしこれらのブリッジ・ソリューションはパフォーマンスに影響し、CLR(Common Language Run-time)開発環境を利用する根本のプロバイダとドライバを阻害します。
Ritmo/i はこれらのブリッジ手法より優れた選択になります。それはブリッジを除外し、高いパフォーマンス、CLR機能、アプリケーションに対するオペレーティング。システムスケーラブルな管理を提供します
Q:Visual C++ を使用して AS/400への接続をどのようにイニシエイトしますか?
A: サンプルコードは:
///////////////////////////////////////////////////////////////////////////////
// OLE400 Test Sample – 07-07-2000
//
// Standard sample for testing HiT OLEDB400 Provider.
// Initialization phases can be used in any other connect exercise.
//
///////////////////////////////////////////////////////////////////////////////
#include
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include
#include
#include “atldb.h”
#include
#include
#include #define SAFE_RELEASE(pv) if(pv) { (pv)->Release(); (pv) = NULL; } WCHAR* A2WSTR(LPCSTR lp, int nLen) { USES_CONVERSION; int nConvertedLen = MultiByteToWideChar(_acp, str = ::SysAllocStringLen(NULL, nConvertedLen); if ( str != NULL ) { LPSTR WSTR2A(LPSTR cBuf, LPCWSTR lpw, LPCSTR lpDef) { USES_CONVERSION; int nConvertedLen = WideCharToMultiByte(_acp, if ( cBuf != NULL ) { return cBuf; CComPtr // MAIN TEST FUNCTION void main () IDBInitialize* pIDBInitialize = NULL; hr = CoInitialize(NULL); // retrieve pMalloc interface hr = CoCreateInstance(CLSID_MSDAINITIALIZE, /////////////////////////////////////////////////////// memset (lpItemText, 0, 200); printf (“Open connection to HiT OLE DB Provider for DB2\r\n”); printf (“UDL File\t: “); printf (“User ID \t: “); printf (“Password\t: “); /////////////////////////////////////////////////////// hr = pIDataInitialize->LoadStringFromStorage(pwszTemp, &pwszInitString); SysFreeString (pwszTemp); /////////////////////////////////////////////////////// hr = pDataSource->QueryInterface(IID_IDBInitialize, (void**)&pIDBInitialize); if (pIDBProperties == NULL) hr = pIDBProperties->GetProperties(0, NULL, &cPropSets, &prgPropSets); // Set edit data link properties rgProps[0].dwPropertyID = DBPROP_INIT_PROMPT; rgProps[1].dwPropertyID = DBPROP_AUTH_USERID; rgProps[2].dwPropertyID = DBPROP_AUTH_PASSWORD; PropSet.cProperties = 3; hr = pIDBProperties->SetProperties (1, &PropSet); // Free memory // free all properties // now free the property set /////////////////////////////////////////////////////// hr = pIDBInitialize->Initialize(); printf (“CONNECTED\r\n\r\n”); // to do: put any code here /////////////////////////////////////////////////////// // Release any references and continue. SAFE_RELEASE(pIDBInitialize); SAFE_RELEASE (pIDBProperties); SAFE_RELEASE (pIDataInitialize); CoUninitialize(); SAFE_RELEASE (pIDBInitialize);
#define TESTC(hr) { if(FAILED(hr)) goto CLEANUP; }
BSTR str = NULL;
0,
lp,
nLen,
NULL,
NULL) – 1;
MultiByteToWideChar(_acp,
0,
lp,
-1,
str,
nConvertedLen);
}
return str;
}
0,
lpw,
-1,
NULL,
0,
lpDef,
NULL) – 1;
if (nConvertedLen>0) {
WideCharToMultiByte(_acp,
0,
lpw,
-1,
cBuf,
nConvertedLen,
lpDef,
NULL);
}
}
}
MEMORYSTATUS lpBuffer;
///////////////////////////////////////////////////////////////////////////////
{
IDataInitialize* pIDataInitialize = NULL;
DWORD dwCLSCTX = CLSCTX_INPROC_SERVER;
DBPROPSET* prgPropSets = NULL;
ULONG cPropSets;
IUnknown* pDataSource = NULL;
IDBProperties* pIDBProperties = NULL;
WCHAR* pwszTemp;
WCHAR* pwszInitString;
HRESULT hr = S_OK;
if (FAILED(hr))
return;
hr = ::CoGetMalloc(1, (LPMALLOC *) &pMalloc);
if (FAILED(hr))
return;
NULL,
CLSCTX_INPROC_SERVER,
IID_IDataInitialize,
(void**)&pIDataInitialize);
// Prompt data
char lpItemText [200];
char lpUDL [50];
char lpUserID [30];
char lpPassword [30];
int nLen = -1;
memset (lpUDL, 0, 50);
memset (lpUserID, 0, 30);
memset (lpPassword, 0, 30);
printf (“==================================================\r\n”);
scanf (“%s”, lpUDL);
sprintf (lpItemText, “C:\\Program Files\\Common Files\\System\\OLE DB\\Data Links\\%s”, lpUDL);
printf (“\r\n”);
scanf (“%s”, lpUserID);
printf (“\r\n”);
scanf (“%s”, lpPassword);
printf (“\r\n”);
// Get connection string from Data Link file
nLen = strlen(lpItemText);
pwszTemp = A2WSTR(lpItemText, nLen + 1 );
// Get Data Source object
hr = pIDataInitialize->GetDataSource(NULL,
dwCLSCTX,
pwszInitString,
IID_IDBInitialize,
(IUnknown**)&pDataSource);
hr = pIDBInitialize->QueryInterface (IID_IDBProperties,
(void**)&pIDBProperties);
DBPROP rgProps[3];
DBPROPSET PropSet;
rgProps[0].dwOptions = DBPROPOPTIONS_REQUIRED;
rgProps[0].vValue.vt = VT_I2;
rgProps[0].vValue.iVal = DBPROMPT_NOPROMPT;
rgProps[1].dwOptions = DBPROPOPTIONS_REQUIRED;
rgProps[1].vValue.vt = VT_BSTR;
nLen = strlen(lpUserID);
pwszTemp = A2WSTR(lpUserID, nLen + 1 );
V_BSTR(&(rgProps[1].vValue))= SysAllocStringLen (pwszTemp, wcslen(pwszTemp));
rgProps[2].dwOptions = DBPROPOPTIONS_REQUIRED;
rgProps[2].vValue.vt = VT_BSTR;
nLen = strlen(lpPassword);
pwszTemp = A2WSTR(lpPassword, nLen + 1 );
rgProps[2].vValue.bstrVal = SysAllocStringLen (pwszTemp, wcslen(pwszTemp));
PropSet.rgProperties = rgProps;
PropSet.guidPropertySet = DBPROPSET_DBINIT;
SysFreeString (rgProps[1].vValue.bstrVal);
SysFreeString (rgProps[2].vValue.bstrVal);
pMalloc->Free (prgPropSets->rgProperties);
pMalloc->Free (prgPropSets);
// Initialize connection
printf (“Connecting…\r\n\r\n”);
if (FAILED(hr))
return;
// …
// Disconnect
printf (“Disconnecting…\r\n”);
hr = pIDBInitialize->Uninitialize ();
SAFE_RELEASE (pDataSource);
}
Host Code Pageについて(KBFAQ 1024)
HiT ODBC/400, HiT OLEDB/400 and Ritmo for iSeries
IDS_CODEPAGE_037_1 “037 – US/Can./Australia/N.Z.”
IDS_CODEPAGE_037_2 “037 – Netherlands”
IDS_CODEPAGE_037_3 “037 – Portugal/Brazil”
IDS_CODEPAGE_273 “273 – German/Austrian”
IDS_CODEPAGE_277 “277 – Danish/Norwegian”
IDS_CODEPAGE_278 “278 – Finnish/Swedish”
IDS_CODEPAGE_280 “280 – Italian”
IDS_CODEPAGE_284 “284 – Spanish/Latin Amer. Sp.”
IDS_CODEPAGE_285 “285 – UK”
IDS_CODEPAGE_297 “297 – French”
IDS_CODEPAGE_424 “424 – Hebrew”
IDS_CODEPAGE_500 “500 – Belgian/Swiss/Can.”
IDS_CODEPAGE_870 “870 – Eastern Europe”
IDS_CODEPAGE_871 “871 – Icelandic”
IDS_CODEPAGE_875 “875 – Greek”
IDS_CODEPAGE_1026 “1026 – Turkey”
IDS_CODEPAGE_290 “290 – Jpn. Katakana Host SBCS”
IDS_CODEPAGE_1027 “1027 – Jpn. Latin Host SBCS”
IDS_CODEPAGE_933 “933 – Korean”
IDS_CODEPAGE_935 “935 – Simplified Chinese”
IDS_CODEPAGE_937 “937 – Traditional Chinese”
IDS_CODEPAGE_4396 “4396 – Jpn. Host DBCS”
IDS_CODEPAGE_5026 “5026 – Jpn. Katakana-Kanji Host Mix.”
IDS_CODEPAGE_5035 “5035 – Jpn. Latin-Kanji Host Mix.”
IDS_CODEPAGE_1140_1 “1140 – (Euro) US/Can./Australia”
IDS_CODEPAGE_1140_2 “1140 – (Euro) N.Z./Netherlands”
IDS_CODEPAGE_1140_3 “1140 – (Euro) Portugal/Brazil”
IDS_CODEPAGE_1141 “1141 – (Euro) German/Austrian”
IDS_CODEPAGE_1142 “1142 – (Euro) Danish/Norwegian”
IDS_CODEPAGE_1143 “1143 – (Euro) Finnish/Swedish”
IDS_CODEPAGE_1144 “1144 – (Euro) Italian”
IDS_CODEPAGE_1145 “1145 – (Euro) Spanish/Latin Amer. Sp.”
IDS_CODEPAGE_1146 “1146 – (Euro) UK”
IDS_CODEPAGE_1147 “1147 – (Euro) French”
IDS_CODEPAGE_1148 “1148 – (Euro) Belgian/Swiss/Can.”
IDS_CODEPAGE_1149 “1149 – (Euro) Icelandic”
IDS_CODEPAGE_420 “420 – Arabic”
IDS_CODEPAGE_838 “838 – Thai”
HiT ODBC/DB2, HiT OLEDB/DB2, and Ritmo for DB2
IDS_CODEPAGE_037_1 “037 – US/Canada/Australia/N.Z.”
IDS_CODEPAGE_037_2 “037 – Netherlands”
IDS_CODEPAGE_037_3 “037 – Portugal/Brazil”
IDS_CODEPAGE_273 “273 – German/Austrian”
IDS_CODEPAGE_277 “277 – Danish/Norwegian”
IDS_CODEPAGE_278 “278 – Finnish/Swedish”
IDS_CODEPAGE_280 “280 – Italian”
IDS_CODEPAGE_284 “284 – Spanish”
IDS_CODEPAGE_285 “285 – UK”
IDS_CODEPAGE_297 “297 – French”
IDS_CODEPAGE_420 “420 – Arabic”
IDS_CODEPAGE_424 “424 – Hebrew”
IDS_CODEPAGE_500 “500 – Belgian/Swiss”
IDS_CODEPAGE_819 “819 – Latin”
IDS_CODEPAGE_870 “870 – Eastern Europe”
IDS_CODEPAGE_871 “871 – Icelandic”
IDS_CODEPAGE_875 “875 – Greek”
IDS_CODEPAGE_290 “290 – Jpn. Katakana Host SBCS”
IDS_CODEPAGE_932 “932 – Jpn. PC Mixed incl. 1880 UDC”
IDS_CODEPAGE_933 “933 – Korean”
IDS_CODEPAGE_935 “935 – S. Chinese”
IDS_CODEPAGE_937 “937 – T. Chinese”
IDS_CODEPAGE_943 “943 – Jpn. PC Mixed for Open Env.”
IDS_CODEPAGE_954 “954 – Jpn. EUC”
IDS_CODEPAGE_1026 “1026 – Turkey”
IDS_CODEPAGE_1027 “1027 – Jpn. Latin Host SBCS”
IDS_CODEPAGE_1140_1 “1140 – (Euro) US/Can./Australia”
IDS_CODEPAGE_1140_2 “1140 – (Euro) N.Z./Netherlands”
IDS_CODEPAGE_1140_3 “1140 – (Euro) Portugal/Brazil”
IDS_CODEPAGE_1141 “1141 – (Euro) German/Austrian”
IDS_CODEPAGE_1142 “1142 – (Euro) Danish/Norwegian”
IDS_CODEPAGE_1143 “1143 – (Euro) Finnish/Swedish”
IDS_CODEPAGE_1144 “1144 – (Euro) Italian”
IDS_CODEPAGE_1145 “1145 – (Euro) Spanish/Latin Amer. Sp.”
IDS_CODEPAGE_1146 “1146 – (Euro) UK”
IDS_CODEPAGE_1147 “1147 – (Euro) French”
IDS_CODEPAGE_1148 “1148 – (Euro) Belgian/Swiss/Can.”
IDS_CODEPAGE_1149 “1149 – (Euro) Icelandic”
IDS_CODEPAGE_1252 “1252 – Windows ANSI”
IDS_CODEPAGE_4396 “4396 – Jpn. Host DBCS”
IDS_CODEPAGE_5026 “5026 – Jpn. Katakana-Kanji Host Mixed”
IDS_CODEPAGE_5035 “5035 – Jpn. Latin-Kanji Host Mixed”
HiT JDBC/400 API サポート
Methods: | Return Types: | Supported: |
Interface Blob |
getBinaryStream() | InputStream | Yes |
getBytes(long pos, int length) | byte[] | Yes |
length() | long | Yes |
position(Blob pattern, long start) | long | No |
position(byte[] pattern, long start) | long | No |
Methods: | Return Types: | Supported: |
Interface CallableStatement |
getArray(int i) | Array | No |
getBigDecimal(int parameterIndex) | BigDecimal | Yes |
getBigDecimal(int parameterIndex, int scale) | BigDecimal | Yes |
getBlob(int i) | Blob | No (soon) |
getBoolean(int parameterIndex) | boolean | Yes |
getByte(int parameterIndex) | byte | Yes |
getBytes(int parameterIndex) | byte[] | Yes |
getClob(int i) | Clob | No (soon) |
getDate(int parameterIndex) | Date | Yes |
getDate(int parameterIndex, Calendar cal) | Date | No (soon) |
getDouble(int parameterIndex) | double | Yes |
getFloat(int parameterIndex) | float | Yes |
getInt(int parameterIndex) | int | Yes |
getLong(int parameterIndex) | long | Yes |
getObject(int parameterIndex) | Object | Yes |
getObject(int i, Map map) | Object | No |
getRef(int i) | Ref | No |
getShort(int parameterIndex) | short | Yes |
getString(int parameterIndex) | String | Yes |
getTime(int parameterIndex) | Time | Yes |
getTime(int parameterIndex, Calendar cal) | Time | Yes |
getTimestamp(int parameterIndex) | Timestamp | Yes |
getTimestamp(int parameterIndex, Calendar cal) | Timestamp | No |
registerOutParameter(int parameterIndex, int sqlType) | void | Yes |
registerOutParameter(int parameterIndex, int sqlType, int scale) | void | No |
registerOutParameter(int paramIndex, int sqlType, String typeName) | void | No |
wasNull() | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface Clob |
getAsciiStream() | InputStream | No |
getCharacterStream() | Reader | Yes |
getSubString(long pos, int length) | String | Yes |
length() | long | Yes |
position(Clob searchstr, long start) | long | No |
position(String searchstr, long start) | long | No |
Methods: | Return Types: | Supported: |
Interface Connection |
clearWarnings() | void | Yes |
close() | void | Yes |
commit() | void | Yes |
createStatement() | Statement | Yes |
createStatement(int resultSetType, int resultSetConcurrency) | Statement | Yes |
getAutoCommit() | boolean | Yes |
getCatalog() | String | Yes |
getMetaData() | DatabaseMetaData | Yes |
getTransactionIsolation() | int | Yes |
getTypeMap() | Map | No |
getWarnings() | SQLWarning | Yes |
isClosed() | boolean | Yes |
isReadOnly() | boolean | Yes |
nativeSQL(String sql) | String | Yes |
prepareCall(String sql) | CallableStatement | Yes |
prepareCall(String sql, int resultSetType, int resultSetConcurrency) | CallableStatement | Yes |
prepareStatement(String sql) | PreparedStatement | Yes |
prepareStatement(String sql, int resultSetType, int resultSetConcurrency) | PreparedStatement | Yes |
rollback() | void | Yes |
setAutoCommit(boolean autoCommit) | void | Yes |
setCatalog(String catalog) | void | Yes |
setReadOnly(boolean readOnly) | void | Yes |
setTransactionIsolation(int level) | void | Yes |
setTypeMap(Map map) | void | No |
Methods: | Return Types: | Supported: |
Interface DatabaseMetaData |
allProceduresAreCallable() | boolean | Yes |
allTablesAreSelectable() | boolean | Yes |
dataDefinitionCausesTransactionCommit() | boolean | Yes |
dataDefinitionIgnoredInTransactions() | boolean | Yes |
deletesAreDetected(int type) | boolean | Yes |
doesMaxRowSizeIncludeBlobs() | boolean | Yes |
getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) | ResultSet | Yes |
getCatalogs() | ResultSet | Yes |
getCatalogSeparator() | String | Yes |
getCatalogTerm() | String | Yes |
getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) | ResultSet | Yes |
getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) | ResultSet | Yes |
getConnection() | Connection | Yes |
getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) | ResultSet | Yes |
getDatabaseProductName() | String | Yes |
getDatabaseProductVersion() | String | Yes |
getDefaultTransactionIsolation() | int | Yes |
getDriverMajorVersion() | int | Yes |
getDriverMinorVersion() | int | Yes |
getDriverName() | String | Yes |
getDriverVersion() | String | Yes |
getExportedKeys(String catalog, String schema, String table) | ResultSet | Yes |
getExtraNameCharacters() | String | Yes |
getIdentifierQuoteString() | String | Yes |
getImportedKeys(String catalog, String schema, String table) | ResultSet | Yes |
getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) | ResultSet | Yes |
getMaxBinaryLiteralLength() | int | Yes |
getMaxCatalogNameLength() | int | Yes |
getMaxCharLiteralLength() | int | Yes |
getMaxColumnNameLength() | int | Yes |
getMaxColumnsInGroupBy() | int | Yes |
getMaxColumnsInIndex() | int | Yes |
getMaxColumnsInOrderBy() | int | Yes |
getMaxColumnsInSelect() | int | Yes |
getMaxColumnsInTable() | int | Yes |
getMaxConnections() | int | Yes |
getMaxCursorNameLength() | int | Yes |
getMaxIndexLength() | int | Yes |
getMaxProcedureNameLength() | int | Yes |
getMaxRowSize() | int | Yes |
getMaxSchemaNameLength() | int | Yes |
getMaxStatementLength() | int | Yes |
getMaxStatements() | int | Yes |
getMaxTableNameLength() | int | Yes |
getMaxTablesInSelect() | int | Yes |
getMaxUserNameLength() | int | Yes |
getNumericFunctions() | String | Yes |
getPrimaryKeys(String catalog, String schema, String table) | ResultSet | Yes |
getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) | ResultSet | Yes |
getProcedures(String catalog, String schemaPattern, String procedureNamePattern) | ResultSet | Yes |
getProcedureTerm() | String | Yes |
getSchemas() | ResultSet | Yes |
getSchemaTerm() | String | Yes |
getSearchStringEscape() | String | Yes |
getSQLKeywords() | String | Yes |
getStringFunctions() | String | Yes |
getSystemFunctions() | String | Yes |
getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) | ResultSet | Yes |
getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) | ResultSet | Yes |
getTableTypes() | ResultSet | Yes |
getTimeDateFunctions() | String | Yes |
getTypeInfo() | ResultSet | Yes |
getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) | ResultSet | Yes |
getURL() | String | Yes |
getUserName() | String | Yes |
getVersionColumns(String catalog, String schema, String table) | ResultSet | Yes |
insertsAreDetected(int type) | boolean | Yes |
isCatalogAtStart() | boolean | Yes |
isReadOnly() | boolean | Yes |
nullPlusNonNullIsNull() | boolean | Yes |
nullsAreSortedAtEnd() | boolean | Yes |
nullsAreSortedAtStart() | boolean | Yes |
nullsAreSortedHigh() | boolean | Yes |
nullsAreSortedLow() | boolean | Yes |
othersDeletesAreVisible(int type) | boolean | Yes |
othersInsertsAreVisible(int type) | boolean | Yes |
othersUpdatesAreVisible(int type) | boolean | Yes |
ownDeletesAreVisible(int type) | boolean | Yes |
ownInsertsAreVisible(int type) | boolean | Yes |
ownUpdatesAreVisible(int type) | boolean | Yes |
storesLowerCaseIdentifiers() | boolean | Yes |
storesLowerCaseQuotedIdentifiers() | boolean | Yes |
storesMixedCaseIdentifiers() | boolean | Yes |
storesMixedCaseQuotedIdentifiers() | boolean | Yes |
storesUpperCaseIdentifiers() | boolean | Yes |
storesUpperCaseQuotedIdentifiers() | boolean | Yes |
supportsAlterTableWithAddColumn() | boolean | Yes |
supportsAlterTableWithDropColumn() | boolean | Yes |
supportsANSI92EntryLevelSQL() | boolean | Yes |
supportsANSI92FullSQL() | boolean | Yes |
supportsANSI92IntermediateSQL() | boolean | Yes |
supportsBatchUpdates() | boolean | Yes |
supportsCatalogsInDataManipulation() | boolean | Yes |
supportsCatalogsInIndexDefinitions() | boolean | Yes |
supportsCatalogsInPrivilegeDefinitions() | boolean | Yes |
supportsCatalogsInProcedureCalls() | boolean | Yes |
supportsCatalogsInTableDefinitions() | boolean | Yes |
supportsColumnAliasing() | boolean | Yes |
supportsConvert() | boolean | No |
supportsConvert(int fromType, int toType) | boolean | No |
supportsCoreSQLGrammar() | boolean | Yes |
supportsCorrelatedSubqueries() | boolean | Yes |
supportsDataDefinitionAndDataManipulationTransactions() | boolean | Yes |
supportsDataManipulationTransactionsOnly() | boolean | Yes |
supportsDifferentTableCorrelationNames() | boolean | Yes |
supportsExpressionsInOrderBy() | boolean | Yes |
supportsExtendedSQLGrammar() | boolean | Yes |
supportsFullOuterJoins() | boolean | Yes |
supportsGroupBy() | boolean | Yes |
supportsGroupByBeyondSelect() | boolean | Yes |
supportsGroupByUnrelated() | boolean | Yes |
supportsIntegrityEnhancementFacility() | boolean | Yes |
supportsLikeEscapeClause() | boolean | Yes |
supportsLimitedOuterJoins() | boolean | Yes |
supportsMinimumSQLGrammar() | boolean | Yes |
supportsMixedCaseIdentifiers() | boolean | Yes |
supportsMixedCaseQuotedIdentifiers() | boolean | Yes |
supportsMultipleResultSets() | boolean | Yes |
supportsMultipleTransactions() | boolean | Yes |
supportsNonNullableColumns() | boolean | Yes |
supportsOpenCursorsAcrossCommit() | boolean | Yes |
supportsOpenCursorsAcrossRollback() | boolean | Yes |
supportsOpenStatementsAcrossCommit() | boolean | Yes |
supportsOpenStatementsAcrossRollback() | boolean | Yes |
supportsOrderByUnrelated() | boolean | Yes |
supportsOuterJoins() | boolean | Yes |
supportsPositionedDelete() | boolean | Yes |
supportsPositionedUpdate() | boolean | Yes |
supportsResultSetConcurrency(int type, int concurrency) | boolean | Yes |
supportsResultSetType(int type) | boolean | Yes |
supportsSchemasInDataManipulation() | boolean | Yes |
supportsSchemasInIndexDefinitions() | boolean | Yes |
supportsSchemasInPrivilegeDefinitions() | boolean | Yes |
supportsSchemasInProcedureCalls() | boolean | Yes |
supportsSchemasInTableDefinitions() | boolean | Yes |
supportsSelectForUpdate() | boolean | Yes |
supportsStoredProcedures() | boolean | Yes |
supportsSubqueriesInComparisons() | boolean | Yes |
supportsSubqueriesInExists() | boolean | Yes |
supportsSubqueriesInIns() | boolean | Yes |
supportsSubqueriesInQuantifieds() | boolean | Yes |
supportsTableCorrelationNames() | boolean | Yes |
supportsTransactionIsolationLevel(int level) | boolean | Yes |
supportsTransactions() | boolean | Yes |
supportsUnion() | boolean | Yes |
supportsUnionAll() | boolean | Yes |
updatesAreDetected(int type) | boolean | Yes |
usesLocalFilePerTable() | boolean | Yes |
usesLocalFiles() | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface PreparedStatement |
addBatch() | void | Yes |
clearParameters() | void | Yes |
execute() | boolean | Yes |
executeQuery() | ResultSet | Yes |
executeUpdate() | int | Yes |
getMetaData() | ResultSetMetaData | Yes |
setArray(int i, Array x) | void | No |
setAsciiStream(int parameterIndex, InputStream x, int length) | void | Yes |
setBigDecimal(int parameterIndex, BigDecimal x) | void | Yes |
setBinaryStream(int parameterIndex, InputStream x, int length) | void | Yes |
setBlob(int i, Blob x) | void | Yes |
setBoolean(int parameterIndex, boolean x) | void | Yes |
setByte(int parameterIndex, byte x) | void | Yes |
setBytes(int parameterIndex, byte[] x) | void | Yes |
setCharacterStream(int parameterIndex, Reader reader, int length) | void | Yes |
setClob(int i, Clob x) | void | Yes |
setDate(int parameterIndex, Date x) | void | Yes |
setDate(int parameterIndex, Date x, Calendar cal) | void | Yes |
setDouble(int parameterIndex, double x) | void | Yes |
setFloat(int parameterIndex, float x) | void | Yes |
setInt(int parameterIndex, int x) | void | Yes |
setLong(int parameterIndex, long x) | void | Yes |
setNull(int parameterIndex, int sqlType) | void | yes |
setNull(int paramIndex, int sqlType, String typeName) | void | no |
setObject(int parameterIndex, Object x) | void | Yes |
setObject(int parameterIndex, Object x, int targetSqlType) | void | Yes |
setObject(int parameterIndex, Object x, int targetSqlType, int scale) | void | Yes |
setRef(int i, Ref x) | void | No |
setShort(int parameterIndex, short x) | void | Yes |
setString(int parameterIndex, String x) | void | Yes |
setTime(int parameterIndex, Time x) | void | Yes |
setTime(int parameterIndex, Time x, Calendar cal) | void | Yes |
setTimestamp(int parameterIndex, Timestamp x) | void | Yes |
setTimestamp(int parameterIndex, Timestamp x, Calendar cal) | void | Yes |
setUnicodeStream(int parameterIndex, InputStream x, int length) | void | Yes |
Methods: | Return Types: | Supported: |
Interface ResultSet |
absolute(int row) | boolean | Yes |
afterLast() | void | Yes |
beforeFirst() | void | Yes |
cancelRowUpdates() | void | Yes |
clearWarnings() | void | Yes |
close() | void | Yes |
deleteRow() | void | Yes |
findColumn(String columnName) | int | Yes |
first() | boolean | Yes |
getArray(int i) | Array | No |
getArray(String colName) | Array | Yes |
getAsciiStream(int columnIndex) | InputStream | Yes |
getAsciiStream(String columnName) | InputStream | Yes |
getBigDecimal(int columnIndex) | BigDecimal | Yes |
getBigDecimal(int columnIndex, int scale) | BigDecimal | Yes |
getBigDecimal(String columnName) | BigDecimal | Yes |
getBigDecimal(String columnName, int scale) | BigDecimal | Yes |
getBinaryStream(int columnIndex) | InputStream | Yes |
getBinaryStream(String columnName) | InputStream | Yes |
getBlob(int i) | Blob | Yes |
getBlob(String colName) | Blob | Yes |
getBoolean(int columnIndex) | boolean | Yes |
getBoolean(String columnName) | boolean | Yes |
getByte(int columnIndex) | byte | Yes |
getByte(String columnName) | byte | Yes |
getBytes(int columnIndex) | byte[] | Yes |
getBytes(String columnName) | byte[] | Yes |
getCharacterStream(int columnIndex) | Reader | Yes |
getCharacterStream(String columnName) | Reader | Yes |
getClob(int i) | Clob | Yes |
getClob(String colName) | Clob | Yes |
getConcurrency() | int | Yes |
getCursorName() | String | Yes |
getDate(int columnIndex) | Date | Yes |
getDate(int columnIndex, Calendar cal) | Date | Yes |
getDate(String columnName) | Date | Yes |
getDate(String columnName, Calendar cal) | Date | Yes |
getDouble(int columnIndex) | double | Yes |
getDouble(String columnName) | double | Yes |
getFetchDirection() | int | Yes |
getFetchSize() | int | Yes |
getFloat(int columnIndex) | float | Yes |
getFloat(String columnName) | float | Yes |
getInt(int columnIndex) | int | Yes |
getInt(String columnName) | int | Yes |
getLong(int columnIndex) | long | Yes |
getLong(String columnName) | long | Yes |
getMetaData() | ResultSetMetaData | Yes |
getObject(int columnIndex) | Object | Yes |
getObject(int i, Map map) | Object | No |
getObject(String columnName) | Object | Yes |
getObject(String colName, Map map) | Object | No |
getRef(int i) | Ref | No |
getRef(String colName) | Ref | No |
getRow() | int | Yes |
getShort(int columnIndex) | short | Yes |
getShort(String columnName) | short | Yes |
getStatement() | Statement | Yes |
getString(int columnIndex) | String | Yes |
getString(String columnName) | String | Yes |
getTime(int columnIndex) | Time | Yes |
getTime(int columnIndex, Calendar cal) | Time | Yes |
getTime(String columnName) | Time | Yes |
getTime(String columnName, Calendar cal) | Time | Yes |
getTimestamp(int columnIndex) | Timestamp | Yes |
getTimestamp(int columnIndex, Calendar cal) | Timestamp | Yes |
getTimestamp(String columnName) | Timestamp | Yes |
getTimestamp(String columnName, Calendar cal) | Timestamp | Yes |
getType() | int | Yes |
getUnicodeStream(int columnIndex) | InputStream | Yes |
getUnicodeStream(String columnName) | InputStream | Yes |
getWarnings() | SQLWarning | Yes |
insertRow() | void | Yes |
isAfterLast() | boolean | Yes |
isBeforeFirst() | boolean | Yes |
isFirst() | boolean | Yes |
isLast() | boolean | Yes |
last() | boolean | Yes |
moveToCurrentRow() | void | Yes |
moveToInsertRow() | void | Yes |
next() | boolean | Yes |
previous() | boolean | Yes |
refreshRow() | void | Yes |
relative(int rows) | boolean | Yes |
rowDeleted() | boolean | Yes |
rowInserted() | boolean | Yes |
rowUpdated() | boolean | Yes |
setFetchDirection(int direction) | void | Yes |
setFetchSize(int rows) | void | Yes |
updateAsciiStream(int columnIndex, InputStream x, int length) | void | Yes |
updateAsciiStream(String columnName, InputStream x, int length) | void | Yes |
updateBigDecimal(int columnIndex, BigDecimal x) | void | Yes |
updateBigDecimal(String columnName, BigDecimal x) | void | Yes |
updateBinaryStream(int columnIndex, InputStream x, int length) | void | Yes |
updateBinaryStream(String columnName, InputStream x, int length) | void | Yes |
updateBoolean(int columnIndex, boolean x) | void | Yes |
updateBoolean(String columnName, boolean x) | void | Yes |
updateByte(int columnIndex, byte x) | void | Yes |
updateByte(String columnName, byte x) | void | Yes |
updateBytes(int columnIndex, byte[] x) | void | Yes |
updateBytes(String columnName, byte[] x) | void | Yes |
updateCharacterStream(int columnIndex, Reader x, int length) | void | Yes |
updateCharacterStream(String columnName, Reader reader, int length) | void | Yes |
updateDate(int columnIndex, Date x) | void | Yes |
updateDate(String columnName, Date x) | void | Yes |
updateDouble(int columnIndex, double x) | void | Yes |
updateDouble(String columnName, double x) | void | Yes |
updateFloat(int columnIndex, float x) | void | Yes |
updateFloat(String columnName, float x) | void | Yes |
updateInt(int columnIndex, int x) | void | Yes |
updateInt(String columnName, int x) | void | Yes |
updateLong(int columnIndex, long x) | void | Yes |
updateLong(String columnName, long x) | void | Yes |
updateNull(int columnIndex) | void | Yes |
updateNull(String columnName) | void | Yes |
updateObject(int columnIndex, Object x) | void | Yes |
updateObject(int columnIndex, Object x, int scale) | void | Yes |
updateObject(String columnName, Object x) | void | Yes |
updateObject(String columnName, Object x, int scale) | void | Yes |
updateRow() | void | Yes |
updateShort(int columnIndex, short x) | void | Yes |
updateShort(String columnName, short x) | void | Yes |
updateString(int columnIndex, String x) | void | Yes |
updateString(String columnName, String x) | void | Yes |
updateTime(int columnIndex, Time x) | void | Yes |
updateTime(String columnName, Time x) | void | Yes |
updateTimestamp(int columnIndex, Timestamp x) | void | Yes |
updateTimestamp(String columnName, Timestamp x) | void | Yes |
wasNull() | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface ResultSetMetaData |
getCatalogName(int column) | String | Yes |
getColumnClassName(int column) | String | No |
getColumnCount() | int | Yes |
getColumnDisplaySize(int column) | int | Yes |
getColumnLabel(int column) | String | Yes |
getColumnName(int column) | String | Yes |
getColumnType(int column) | int | Yes |
getColumnTypeName(int column) | String | Yes |
getPrecision(int column) | int | Yes |
getScale(int column) | int | Yes |
getSchemaName(int column) | String | Yes |
getTableName(int column) | String | Yes |
isAutoIncrement(int column) | boolean | Yes |
isCaseSensitive(int column) | boolean | Yes |
isCurrency(int column) | boolean | Yes |
isDefinitelyWritable(int column) | boolean | Yes |
isNullable(int column) | int | Yes |
isReadOnly(int column) | boolean | Yes |
isSearchable(int column) | boolean | Yes |
isSigned(int column) | boolean | Yes |
isWritable(int column) | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface Statement |
addBatch(String sql) | void | Yes |
cancel() | void | No |
clearBatch() | void | Yes |
clearWarnings() | void | Yes |
close() | void | Yes |
execute(String sql) | boolean | Yes |
executeBatch() | int[] | Yes |
executeQuery(String sql) | ResultSet | Yes |
executeUpdate(String sql) | int | Yes |
getConnection() | Connection | Yes |
getFetchDirection() | int | Yes |
getFetchSize() | int | Yes |
getMaxFieldSize() | int | Yes |
getMaxRows() | int | Yes |
getMoreResults() | boolean | Yes |
getQueryTimeout() | int | Yes |
getResultSet() | ResultSet | Yes |
getResultSetConcurrency() | int | Yes |
getResultSetType() | int | Yes |
getUpdateCount() | int | Yes |
getWarnings() | SQLWarning | Yes |
setCursorName(String name) | void | no |
setEscapeProcessing(boolean enable) | void | Yes |
setFetchDirection(int direction) | void | no |
setFetchSize(int rows) | void | no |
setMaxFieldSize(int max) | void | Yes |
setMaxRows(int max) | void | Yes |
setQueryTimeout(int seconds) | void | Yes |
Methods: | Return Types: | Supported: |
Interface Array |
No | |
Interface Struct |
No | |
Interface SQLOutput |
No | |
Interface SQLInput |
No | |
Interface SQLData |
No | |
Interface Ref |
No | |
Interface Driver |
Support but not to public |
ライセンス体系はどのようになっていますか?
ワークステーション(クライアント)、またはサーバ・ベースでライセンスされます。クライアント・ライセンスは各PCごとにライセンスされます。クライント・ライセンスをWindowsサーバで稼動させることはできません。
サーバライセンスには次の2種類があります。
1) Open Connectionサーバ・ライセンスは 同時接続数には制限はありませんが、プロセッサ毎の価格になります。
2) Limited Connectionサーバライセンスは同時接続数です。 Processor数には依存しません。
代理店で購入可能ですか?
弊社から販売、代理店を通しての販売どちらも行っております。
サポートの回数に制限はありますか?
回数に制限はありません。
製品のバージョンアップの際には別途料金はかかりますか?
サポート期間内の場合、無償でバージョンアップをお客様自身で行うことができます。
また、弊社でもバージョンアップ作業(有償)を行っています。
導入支援は行っていますか?
別料金となりますが、弊社にて設計、インストール、設定を行います。
保守費用について教えてください。
年間保守費用はライセンス価格の 20% となっており、初年度は必須です。
評価中のサポートは受けられますか?
無償でご利用いただけます。
質問の内容により、お時間を頂く場合がございます。予めご了承ください。
評価版に機能制限はありますか?
評価版に機能制限はありません。
評価版のお申込みはコチラ
電話サポートは24時間対応ですか?
弊社営業時間内(10:00~18:00)となります。
プロダクションサポートの場合、
弊社営業時間外はメーカーの英語サポートのみとなります。
クライアント版はWindows Server上で使用できますか?
できません。Windows XP/Vista/7でのみで使用可能です。WindowsServer上で稼働させる場合は「サーバ版」が必要となります。
サーバライセンスはどの様になっていますか?
サーバライセンスは同時接続(アプリケーション・サーバとDB2サーバ間)の数または無制限接続の両方があります。
サーバライセンスの同時接続数制限版はどの様にライセンスされますか?
プロセッサ数には依存しませんが、同時接続数が5, 10, 25等に制限されます。
無制限接続のサーバライセンスはどの様にライセンスされますか?
無制限接続のサーバライセンスはアップリケーション・サーバのプロセッサ数に依存します。
開発者(ディベロッパ)・エディションはどの様な製品ですか?
開発者エディションはサンプル・ソースコード・コードが含まれ、自社アプリケーションに組み込む権利を有します。
ODBCとOLEDBは64ビットWindows をサポートしますか?
はい、64ビット版を準備しています。
HiT ODBC/400とIBM Client Accessを比較した時のパフォーマンスは?
Client AccessはClient Access機能(ODBC, Terminal Emulatorなど)を使用した最初の時のみ認証によって接続時間を最適化する一方、HiT ODBC/400は、結果セット検索時間を最適化します。
結果として小さなテーブル(検索時間が非常に短くなる。)を使用している場合は接続認証が一回のみ行われるので、Client Accessを使用した方がパホーマンスの向上が見れます。しかし3000レコード以上の大きなテーブルで結果セットを使用する場合は結果セット検索時間では HiT ODBC/400の方がClient Accessよりパフォーマンスは優れています。
またHiTのDB2ワイアー・プロトコール・ドライバはDB2クライント・ライブラリを必要としないため、直接DB2サーバに接続するためにコミュニケーション・オーバが無く、アプリケーション・パフォーマンスを非常に向上させます。
HiT OLEDB と HiT ODBCのパフォーマンスを向上させる方法は?
いくつかの手法があります。
1.ユニーク・インデックス
もし、AS/400のファイルがユニーク・インデックスであれば、パフォーマンスは改善されます。特に大きなテーブルからデータをselectしたり、同じクエリでいくつかのテーブルをJOINする場合です。その場合はファイルにプライマリ・キーを設定し、CREATE UNIQUE INDEXを1度だけ稼動させます。
2.ストアード・プロシージャ
AS/400に送るクエリがいつも同じで、アプリケーションが同じステートメントのクエリを何度も繰り返し、いくつかのパラメータを変更しているのみの場合はAS/400のストアード・プロシージャにそれらのステートメント・クエリをストアしていくつかのSELECT, INSERT, UPDATEなどの代わりに1つのCALLを発行します。
3.カーサ
ADOを使用してVisual BasicやASP/VBSのアプリケーションを開発しているときはConnection や Recordsetオブジェクト用にカーサ・ロケーション・プロパティ設定を選択することができます。
4.パラメトリック・クエリ
パフォーマンスでもっとも重要な要素はパラメトリック・クエリを使用することです。パラメトリック・クエリは「テンプレート・クエリ」として説明されることがあり、同じ規模の大きいテーブルで何度の実行できるクエリです。パラメトリック・クエリは一度準備をすることで、パラメータをパスすることで何度も実行することができます。これによりサーバにその都度送られるオーバーヘッドを削減し、「実行可能なフォーマット」でのクエリにコンパイルし、リクエストにてきせつに応じるためにデータをメモリ・スペースにアロケートし、アクセス・パスを準備します。
詳しくは:http://www.hitsw.com/support/kbase/optimization/Performance_OLEDBandODBC.htm
ODBCで日本語が文字化けします。
日本語文字化けが発生する場合、CCSIDに問題がある場合がほとんどです。
まずは、ODBC設定画面にて、Host Code Pageが「5026」または「5035」であるかどうかをご確認ください。
もしAS/400側で日本語文字を扱っているCCSIDが1027などの本来シングルバイト用のフィールドの場合は、ODBC設定画面にて、「Use Host Code Page to override column CCSIDs」にチェックを入れてください。これはフィールドのCCSIDを「Host Code Page」のものに変換する機能です。
[HiT][HiT ODBC/400][SQL/400][ODBS Error][SQL0010]エラーが発生します。
以下をご確認ください。
・SQLクエリの最後のセミコロン”;”を削除してください。
・SQLクエリで2バイト文字を扱う箇所は、パラメータSQLを使用してください。
ExcelやAccessから、設定したODBCを呼出す事ができません。
ODBCとExcel/Accessはともに32bitもしくは64bitかで一致されている必要があります。
例えば、ODBC64bit版をご利用いただく場合は、Excel/Accessも64bit版が必要です。ただし、Excel/Accessの64bit版はOffice2010からの対応になっておりますので、Office2007以前の場合はODBCの32bit版をご利用ください。OSが64bitの場合でも32bit版のODBCは問題なく動作いたします。
VBScriptで明示的にトランザクションの開始(BeginTrans)・終了(CommitTrans)をしたのですがExecuteコマンドを実行すると、[HiT][HiT ODBC/400][SQL/400][ODBS Error][SQL7008] 操作にはXXXXXXのM7CPが正しくない、というエラーメッセージが出力され登録出来ませんでした。トランザクションを自動(BeginTrans・CommitTransをコメント)にすると正常に登録されます。
Insert処理を行なうテーブルにジャーナルを作成して動作確認をお願いします。
BeginTrans()、CommitTrans()を使用する際にはジャーナルの作成が必要となります。
DB2Connectivity -導入・製品
HiT DB2 Connectivity Developer Edition (DE: 開発者版)について
IBMのi5, System i, iSeries, AS/400上で稼動するDB2データをWindowsでのActive Server Page(ASP)に利用したり、Visual Basicアプリケーションに利用したりすることは通常は簡単ではありません。HiT ODBC Server/400 Developer EditionとHiT OLEDB Server/400 Developer Editionに含まれるHiT ASPと HiT VBツールキットを利用することにより、それらの開発時間を大幅に短縮できます。
○ HiT ODBC Server/400 Developer Edition (DE: 開発者版)はi5, System i, iSeries, AS/400上で稼動するIBM DB2をアクセスするためのSQLミドルウェアで、Windowsプラットフォーム上で稼動し、ユーザまたはサードパーティのアプリケーションで利用されます。HiT ODBC Server/400 DEはDB2データのアクセス、リトリーブ、アップデートにWindows Open Database Connectivity (ODBC)をサポートします。またActive Server Page(ASP)と Visual Basic のツールキットを含みADO経由でDB2データを接続、クエリー、リトリーブ、アップデートが可能なソースコードを含むサンプル・アプリケーションが含まれます。
またIBM Optimized Database Server (ODBS)プロトコール標準を利用しているので、HiT ODBC Server/400 DEはネイティブなIBM OS/400サーバ・プログラムを使用し、i5, System i, iSeries, AS/400プラットフォームに特別なソフトウェアは必要ありません。
○ HiT OLEDB Server/400 Developer Edition (DE)は同様にi5, System i, iSeries, AS/400上で稼動するIBM DB2をアクセスするためのSQLミドルウェアで、Windowsプラットフォーム上で稼動し、ユーザまたはサードパーティのアプリケーションで利用されます。HiT OLEDB Server/400 DEはADO v2.x経由、またはOEL DBオブジェクト・プロパティ経由での直接にアプリケーションSQLステートメントが可能で、そしてDB2データのアクセス、リトリーブ、アップデートが可能です。また同様にHiT ASPと HiT VBツールキットを含みます。
●HiT ASP ツールキット
Webアプリケーションの開発の高速化に最適
Microsoft IIS Web開発用のHiT Active Server Page (ASP) ツールキットはHiT ODBC Serverミドルウェアとの組合せでIIS ASP開発環境でのDB2のWeb統合に有益なスタートをもたらします。
HiT ASPツールキットに含まれるWebアプリケーションからDB2テーブルに対するクエリー、アップデートの検証済ASPサンプルを開発者が利用することでWebアプリケーション・開発時間を大幅に削減できます。サンプルにはADOレコードセットを使用しての接続確立方法、ストアード・プロシージャ実行、テーブル・データのリトリーブとインサート、HTML経由での結果表示などがあります。すべてのサンプルは各種のDB2サーバとプラットフォームで検証されています。HiT ASPツールキットはWindowsフラットフォームで稼動し、HiT ODBCサーバ製品経由でDB2サーバとコミュニケーションを行います。
●HiT VBツールキット
高速VBアプリケーション開発に最適
HiT VBツールキットはすべてのHiT ODBC と OLE DB開発者版製品に含まれMicrosoft Visual Basicを使用する開発者をサポートします。HiT ODBC と OLE DBミドルウェア製品と組み合わせて使用することにより、Visual Basic開発環境でのDB2アプリケーション・インテグレーションに有益なスタートをもたらします。
HiT VBツールキットでADO, RDO, DAO, ODBCDirectインターフェイスを使用してDB2テーブル・データにアクセスするためのソース・コード・サンプルを開発者に提供することにより、アプリケーションの開発時間を削減することができます。サンプルはレコードセットを使用しての接続確立、ストアード・プロシージャの実行、DB2データのアップデートなどが含まれます。すべてのサンプルは各種のDB2サーバとプラットフォームで検証されています。HiT VBツールキットはWindowsフラットフォームで稼動し、HiT ODBCとOLE DB製品経由でDB2サーバとのコミュニケーションを行います。
HiT Db2 Connectivity製品の選択方法 ( ID:1635)
○もしアプリケーションがADO.NET または Visual Studioで構築されたいれば、Ritmo (.NET)を選択
○もしアプリケーションがJavaで構築されていればHiT JDBCを選択
○もしアプリケーションが Powerbuilder等の他で構築されていればHiT ODBC か HiT OLEDBを選択
ただしHiT ODBCはリレーショナル・データベース形式のみをサポートし、HiT OLEDBはリレーショナル+他のすべてのデータ形式にサポートします。
ODBC/400 と ODBC/Db2の異差
●HiT ODBC/DB2およびHiT ODBC Server/DB2はIBM Db2 on z/OS, Linux, Unix, Windowsサーバとの通信でDRDAプロトコールを使用します。 HiT ODBC/DB2およびHiT ODBC Server/DB2は、以下のIBM Db2環境で動作します。
· IBM Db2 LUW
· IBM Db2 for z/OS (OS/390)
· IBM Db2 for i – supporting IBM OS/400 Operating Systems V4R2 or higher
●HiT ODBC / 400およびHiT ODBC Server / 400は、ODBSプロトコルを使用し、IBM iオペレーティング・システムV3R1以上を必要とします。
DB2Connectivity -ライセンス
ライセンス体系はどのようになっていますか?
ワークステーション(クライアント)、またはサーバ・ベースでライセンスされます。クライアント・ライセンスは各PCごとにライセンスされます。クライント・ライセンスをWindowsサーバで稼動させることはできません。
サーバライセンスには次の2種類があります。
1) Open Connectionサーバ・ライセンスは 同時接続数には制限はありませんが、プロセッサ毎の価格になります。
2) Limited Connectionサーバライセンスは同時接続数です。 Processor数には依存しません。
クライアント版はWindows Server上で使用できますか?
できません。Windows XP/Vista/7でのみで使用可能です。WindowsServer上で稼働させる場合は「サーバ版」が必要となります。
サーバライセンスはどの様になっていますか?
サーバライセンスは同時接続(アプリケーション・サーバとDB2サーバ間)の数または無制限接続の両方があります。
サーバライセンスの同時接続数制限版はどの様にライセンスされますか?
プロセッサ数には依存しませんが、同時接続数が5, 10, 25等に制限されます。
無制限接続のサーバライセンスはどの様にライセンスされますか?
無制限接続のサーバライセンスはアップリケーション・サーバのプロセッサ数に依存します。
開発者(ディベロッパ)・エディションはどの様な製品ですか?
開発者エディションはサンプル・ソースコード・コードが含まれ、自社アプリケーションに組み込む権利を有します。
DB2Connectivity -購入サポート
代理店で購入可能ですか?
弊社から販売、代理店を通しての販売どちらも行っております。
サポートの回数に制限はありますか?
回数に制限はありません。
製品のバージョンアップの際には別途料金はかかりますか?
サポート期間内の場合、無償でバージョンアップをお客様自身で行うことができます。
また、弊社でもバージョンアップ作業(有償)を行っています。
導入支援は行っていますか?
別料金となりますが、弊社にて設計、インストール、設定を行います。
保守費用について教えてください。
年間保守費用はライセンス価格の 20% となっており、初年度は必須です。
電話サポートは24時間対応ですか?
弊社営業時間内(10:00~18:00)となります。
プロダクションサポートの場合、
弊社営業時間外はメーカーの英語サポートのみとなります。
DB2Connectivity -評価
評価中のサポートは受けられますか?
無償でご利用いただけます。
質問の内容により、お時間を頂く場合がございます。予めご了承ください。
評価版に機能制限はありますか?
評価版に機能制限はありません。
評価版のお申込みはコチラ
DB2Connectivity -機能
Q: 各プラットフォームでのDB2用のデフォルトHost Code Pageとポート・ナンバーは?
A:
AIX
Host Code Page – 819 Latin
Port Number – 446
Linux
Host Code Page – 819
Port Number – 50000
OS390
Host Code Page – 037
Port Number – 446
OS400 (AS/400)
Host Code Page 037
Port Number 8471
Windows Server
Host Code Page – 1252
Port Number – 50000
Host Code Pageについて(KBFAQ 1024)
HiT ODBC/400, HiT OLEDB/400 and Ritmo for iSeries
IDS_CODEPAGE_037_1 “037 – US/Can./Australia/N.Z.”
IDS_CODEPAGE_037_2 “037 – Netherlands”
IDS_CODEPAGE_037_3 “037 – Portugal/Brazil”
IDS_CODEPAGE_273 “273 – German/Austrian”
IDS_CODEPAGE_277 “277 – Danish/Norwegian”
IDS_CODEPAGE_278 “278 – Finnish/Swedish”
IDS_CODEPAGE_280 “280 – Italian”
IDS_CODEPAGE_284 “284 – Spanish/Latin Amer. Sp.”
IDS_CODEPAGE_285 “285 – UK”
IDS_CODEPAGE_297 “297 – French”
IDS_CODEPAGE_424 “424 – Hebrew”
IDS_CODEPAGE_500 “500 – Belgian/Swiss/Can.”
IDS_CODEPAGE_870 “870 – Eastern Europe”
IDS_CODEPAGE_871 “871 – Icelandic”
IDS_CODEPAGE_875 “875 – Greek”
IDS_CODEPAGE_1026 “1026 – Turkey”
IDS_CODEPAGE_290 “290 – Jpn. Katakana Host SBCS”
IDS_CODEPAGE_1027 “1027 – Jpn. Latin Host SBCS”
IDS_CODEPAGE_933 “933 – Korean”
IDS_CODEPAGE_935 “935 – Simplified Chinese”
IDS_CODEPAGE_937 “937 – Traditional Chinese”
IDS_CODEPAGE_4396 “4396 – Jpn. Host DBCS”
IDS_CODEPAGE_5026 “5026 – Jpn. Katakana-Kanji Host Mix.”
IDS_CODEPAGE_5035 “5035 – Jpn. Latin-Kanji Host Mix.”
IDS_CODEPAGE_1140_1 “1140 – (Euro) US/Can./Australia”
IDS_CODEPAGE_1140_2 “1140 – (Euro) N.Z./Netherlands”
IDS_CODEPAGE_1140_3 “1140 – (Euro) Portugal/Brazil”
IDS_CODEPAGE_1141 “1141 – (Euro) German/Austrian”
IDS_CODEPAGE_1142 “1142 – (Euro) Danish/Norwegian”
IDS_CODEPAGE_1143 “1143 – (Euro) Finnish/Swedish”
IDS_CODEPAGE_1144 “1144 – (Euro) Italian”
IDS_CODEPAGE_1145 “1145 – (Euro) Spanish/Latin Amer. Sp.”
IDS_CODEPAGE_1146 “1146 – (Euro) UK”
IDS_CODEPAGE_1147 “1147 – (Euro) French”
IDS_CODEPAGE_1148 “1148 – (Euro) Belgian/Swiss/Can.”
IDS_CODEPAGE_1149 “1149 – (Euro) Icelandic”
IDS_CODEPAGE_420 “420 – Arabic”
IDS_CODEPAGE_838 “838 – Thai”
HiT ODBC/DB2, HiT OLEDB/DB2, and Ritmo for DB2
IDS_CODEPAGE_037_1 “037 – US/Canada/Australia/N.Z.”
IDS_CODEPAGE_037_2 “037 – Netherlands”
IDS_CODEPAGE_037_3 “037 – Portugal/Brazil”
IDS_CODEPAGE_273 “273 – German/Austrian”
IDS_CODEPAGE_277 “277 – Danish/Norwegian”
IDS_CODEPAGE_278 “278 – Finnish/Swedish”
IDS_CODEPAGE_280 “280 – Italian”
IDS_CODEPAGE_284 “284 – Spanish”
IDS_CODEPAGE_285 “285 – UK”
IDS_CODEPAGE_297 “297 – French”
IDS_CODEPAGE_420 “420 – Arabic”
IDS_CODEPAGE_424 “424 – Hebrew”
IDS_CODEPAGE_500 “500 – Belgian/Swiss”
IDS_CODEPAGE_819 “819 – Latin”
IDS_CODEPAGE_870 “870 – Eastern Europe”
IDS_CODEPAGE_871 “871 – Icelandic”
IDS_CODEPAGE_875 “875 – Greek”
IDS_CODEPAGE_290 “290 – Jpn. Katakana Host SBCS”
IDS_CODEPAGE_932 “932 – Jpn. PC Mixed incl. 1880 UDC”
IDS_CODEPAGE_933 “933 – Korean”
IDS_CODEPAGE_935 “935 – S. Chinese”
IDS_CODEPAGE_937 “937 – T. Chinese”
IDS_CODEPAGE_943 “943 – Jpn. PC Mixed for Open Env.”
IDS_CODEPAGE_954 “954 – Jpn. EUC”
IDS_CODEPAGE_1026 “1026 – Turkey”
IDS_CODEPAGE_1027 “1027 – Jpn. Latin Host SBCS”
IDS_CODEPAGE_1140_1 “1140 – (Euro) US/Can./Australia”
IDS_CODEPAGE_1140_2 “1140 – (Euro) N.Z./Netherlands”
IDS_CODEPAGE_1140_3 “1140 – (Euro) Portugal/Brazil”
IDS_CODEPAGE_1141 “1141 – (Euro) German/Austrian”
IDS_CODEPAGE_1142 “1142 – (Euro) Danish/Norwegian”
IDS_CODEPAGE_1143 “1143 – (Euro) Finnish/Swedish”
IDS_CODEPAGE_1144 “1144 – (Euro) Italian”
IDS_CODEPAGE_1145 “1145 – (Euro) Spanish/Latin Amer. Sp.”
IDS_CODEPAGE_1146 “1146 – (Euro) UK”
IDS_CODEPAGE_1147 “1147 – (Euro) French”
IDS_CODEPAGE_1148 “1148 – (Euro) Belgian/Swiss/Can.”
IDS_CODEPAGE_1149 “1149 – (Euro) Icelandic”
IDS_CODEPAGE_1252 “1252 – Windows ANSI”
IDS_CODEPAGE_4396 “4396 – Jpn. Host DBCS”
IDS_CODEPAGE_5026 “5026 – Jpn. Katakana-Kanji Host Mixed”
IDS_CODEPAGE_5035 “5035 – Jpn. Latin-Kanji Host Mixed”
DB2Connectivity -トラブル
DB2Connectivity -ODBC
ODBCで日本語が文字化けします。
日本語文字化けが発生する場合、CCSIDに問題がある場合がほとんどです。
まずは、ODBC設定画面にて、Host Code Pageが「5026」または「5035」であるかどうかをご確認ください。
もしAS/400側で日本語文字を扱っているCCSIDが1027などの本来シングルバイト用のフィールドの場合は、ODBC設定画面にて、「Use Host Code Page to override column CCSIDs」にチェックを入れてください。これはフィールドのCCSIDを「Host Code Page」のものに変換する機能です。
ExcelやAccessから、設定したODBCを呼出す事ができません。
ODBCとExcel/Accessはともに32bitもしくは64bitかで一致されている必要があります。
例えば、ODBC64bit版をご利用いただく場合は、Excel/Accessも64bit版が必要です。ただし、Excel/Accessの64bit版はOffice2010からの対応になっておりますので、Office2007以前の場合はODBCの32bit版をご利用ください。OSが64bitの場合でも32bit版のODBCは問題なく動作いたします。
DB2Connectivity -OLE DB
Q:Visual C++ を使用して AS/400への接続をどのようにイニシエイトしますか?
A: サンプルコードは:
///////////////////////////////////////////////////////////////////////////////
// OLE400 Test Sample – 07-07-2000
//
// Standard sample for testing HiT OLEDB400 Provider.
// Initialization phases can be used in any other connect exercise.
//
///////////////////////////////////////////////////////////////////////////////
#include
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include
#include
#include “atldb.h”
#include
#include
#include #define SAFE_RELEASE(pv) if(pv) { (pv)->Release(); (pv) = NULL; } WCHAR* A2WSTR(LPCSTR lp, int nLen) { USES_CONVERSION; int nConvertedLen = MultiByteToWideChar(_acp, str = ::SysAllocStringLen(NULL, nConvertedLen); if ( str != NULL ) { LPSTR WSTR2A(LPSTR cBuf, LPCWSTR lpw, LPCSTR lpDef) { USES_CONVERSION; int nConvertedLen = WideCharToMultiByte(_acp, if ( cBuf != NULL ) { return cBuf; CComPtr // MAIN TEST FUNCTION void main () IDBInitialize* pIDBInitialize = NULL; hr = CoInitialize(NULL); // retrieve pMalloc interface hr = CoCreateInstance(CLSID_MSDAINITIALIZE, /////////////////////////////////////////////////////// memset (lpItemText, 0, 200); printf (“Open connection to HiT OLE DB Provider for DB2\r\n”); printf (“UDL File\t: “); printf (“User ID \t: “); printf (“Password\t: “); /////////////////////////////////////////////////////// hr = pIDataInitialize->LoadStringFromStorage(pwszTemp, &pwszInitString); SysFreeString (pwszTemp); /////////////////////////////////////////////////////// hr = pDataSource->QueryInterface(IID_IDBInitialize, (void**)&pIDBInitialize); if (pIDBProperties == NULL) hr = pIDBProperties->GetProperties(0, NULL, &cPropSets, &prgPropSets); // Set edit data link properties rgProps[0].dwPropertyID = DBPROP_INIT_PROMPT; rgProps[1].dwPropertyID = DBPROP_AUTH_USERID; rgProps[2].dwPropertyID = DBPROP_AUTH_PASSWORD; PropSet.cProperties = 3; hr = pIDBProperties->SetProperties (1, &PropSet); // Free memory // free all properties // now free the property set /////////////////////////////////////////////////////// hr = pIDBInitialize->Initialize(); printf (“CONNECTED\r\n\r\n”); // to do: put any code here /////////////////////////////////////////////////////// // Release any references and continue. SAFE_RELEASE(pIDBInitialize); SAFE_RELEASE (pIDBProperties); SAFE_RELEASE (pIDataInitialize); CoUninitialize(); SAFE_RELEASE (pIDBInitialize);
#define TESTC(hr) { if(FAILED(hr)) goto CLEANUP; }
BSTR str = NULL;
0,
lp,
nLen,
NULL,
NULL) – 1;
MultiByteToWideChar(_acp,
0,
lp,
-1,
str,
nConvertedLen);
}
return str;
}
0,
lpw,
-1,
NULL,
0,
lpDef,
NULL) – 1;
if (nConvertedLen>0) {
WideCharToMultiByte(_acp,
0,
lpw,
-1,
cBuf,
nConvertedLen,
lpDef,
NULL);
}
}
}
MEMORYSTATUS lpBuffer;
///////////////////////////////////////////////////////////////////////////////
{
IDataInitialize* pIDataInitialize = NULL;
DWORD dwCLSCTX = CLSCTX_INPROC_SERVER;
DBPROPSET* prgPropSets = NULL;
ULONG cPropSets;
IUnknown* pDataSource = NULL;
IDBProperties* pIDBProperties = NULL;
WCHAR* pwszTemp;
WCHAR* pwszInitString;
HRESULT hr = S_OK;
if (FAILED(hr))
return;
hr = ::CoGetMalloc(1, (LPMALLOC *) &pMalloc);
if (FAILED(hr))
return;
NULL,
CLSCTX_INPROC_SERVER,
IID_IDataInitialize,
(void**)&pIDataInitialize);
// Prompt data
char lpItemText [200];
char lpUDL [50];
char lpUserID [30];
char lpPassword [30];
int nLen = -1;
memset (lpUDL, 0, 50);
memset (lpUserID, 0, 30);
memset (lpPassword, 0, 30);
printf (“==================================================\r\n”);
scanf (“%s”, lpUDL);
sprintf (lpItemText, “C:\\Program Files\\Common Files\\System\\OLE DB\\Data Links\\%s”, lpUDL);
printf (“\r\n”);
scanf (“%s”, lpUserID);
printf (“\r\n”);
scanf (“%s”, lpPassword);
printf (“\r\n”);
// Get connection string from Data Link file
nLen = strlen(lpItemText);
pwszTemp = A2WSTR(lpItemText, nLen + 1 );
// Get Data Source object
hr = pIDataInitialize->GetDataSource(NULL,
dwCLSCTX,
pwszInitString,
IID_IDBInitialize,
(IUnknown**)&pDataSource);
hr = pIDBInitialize->QueryInterface (IID_IDBProperties,
(void**)&pIDBProperties);
DBPROP rgProps[3];
DBPROPSET PropSet;
rgProps[0].dwOptions = DBPROPOPTIONS_REQUIRED;
rgProps[0].vValue.vt = VT_I2;
rgProps[0].vValue.iVal = DBPROMPT_NOPROMPT;
rgProps[1].dwOptions = DBPROPOPTIONS_REQUIRED;
rgProps[1].vValue.vt = VT_BSTR;
nLen = strlen(lpUserID);
pwszTemp = A2WSTR(lpUserID, nLen + 1 );
V_BSTR(&(rgProps[1].vValue))= SysAllocStringLen (pwszTemp, wcslen(pwszTemp));
rgProps[2].dwOptions = DBPROPOPTIONS_REQUIRED;
rgProps[2].vValue.vt = VT_BSTR;
nLen = strlen(lpPassword);
pwszTemp = A2WSTR(lpPassword, nLen + 1 );
rgProps[2].vValue.bstrVal = SysAllocStringLen (pwszTemp, wcslen(pwszTemp));
PropSet.rgProperties = rgProps;
PropSet.guidPropertySet = DBPROPSET_DBINIT;
SysFreeString (rgProps[1].vValue.bstrVal);
SysFreeString (rgProps[2].vValue.bstrVal);
pMalloc->Free (prgPropSets->rgProperties);
pMalloc->Free (prgPropSets);
// Initialize connection
printf (“Connecting…\r\n\r\n”);
if (FAILED(hr))
return;
// …
// Disconnect
printf (“Disconnecting…\r\n”);
hr = pIDBInitialize->Uninitialize ();
SAFE_RELEASE (pDataSource);
}
DB2Connectivity -.NET(Ritmo)
.NET経由でAS/400に接続する時にHiT OLEDB/400を選択するのかRitmo/iを選択するのか?
.NETアプリケーション開発者はAS/400サーバへアクセスするためにはマイクロソフトが提供するADO.NET-to-OLE DBまたは-ODBC 使用してODBC または OLEDBのどちらかを経由してそのリモートのデータベースに接続します。しかしこれらのブリッジ・ソリューションはパフォーマンスに影響し、CLR(Common Language Run-time)開発環境を利用する根本のプロバイダとドライバを阻害します。
Ritmo/i はこれらのブリッジ手法より優れた選択になります。それはブリッジを除外し、高いパフォーマンス、CLR機能、アプリケーションに対するオペレーティング。システムスケーラブルな管理を提供します
DB2Connectivity -JDBC
HiT JDBC/400 API サポート
Methods: | Return Types: | Supported: |
Interface Blob |
getBinaryStream() | InputStream | Yes |
getBytes(long pos, int length) | byte[] | Yes |
length() | long | Yes |
position(Blob pattern, long start) | long | No |
position(byte[] pattern, long start) | long | No |
Methods: | Return Types: | Supported: |
Interface CallableStatement |
getArray(int i) | Array | No |
getBigDecimal(int parameterIndex) | BigDecimal | Yes |
getBigDecimal(int parameterIndex, int scale) | BigDecimal | Yes |
getBlob(int i) | Blob | No (soon) |
getBoolean(int parameterIndex) | boolean | Yes |
getByte(int parameterIndex) | byte | Yes |
getBytes(int parameterIndex) | byte[] | Yes |
getClob(int i) | Clob | No (soon) |
getDate(int parameterIndex) | Date | Yes |
getDate(int parameterIndex, Calendar cal) | Date | No (soon) |
getDouble(int parameterIndex) | double | Yes |
getFloat(int parameterIndex) | float | Yes |
getInt(int parameterIndex) | int | Yes |
getLong(int parameterIndex) | long | Yes |
getObject(int parameterIndex) | Object | Yes |
getObject(int i, Map map) | Object | No |
getRef(int i) | Ref | No |
getShort(int parameterIndex) | short | Yes |
getString(int parameterIndex) | String | Yes |
getTime(int parameterIndex) | Time | Yes |
getTime(int parameterIndex, Calendar cal) | Time | Yes |
getTimestamp(int parameterIndex) | Timestamp | Yes |
getTimestamp(int parameterIndex, Calendar cal) | Timestamp | No |
registerOutParameter(int parameterIndex, int sqlType) | void | Yes |
registerOutParameter(int parameterIndex, int sqlType, int scale) | void | No |
registerOutParameter(int paramIndex, int sqlType, String typeName) | void | No |
wasNull() | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface Clob |
getAsciiStream() | InputStream | No |
getCharacterStream() | Reader | Yes |
getSubString(long pos, int length) | String | Yes |
length() | long | Yes |
position(Clob searchstr, long start) | long | No |
position(String searchstr, long start) | long | No |
Methods: | Return Types: | Supported: |
Interface Connection |
clearWarnings() | void | Yes |
close() | void | Yes |
commit() | void | Yes |
createStatement() | Statement | Yes |
createStatement(int resultSetType, int resultSetConcurrency) | Statement | Yes |
getAutoCommit() | boolean | Yes |
getCatalog() | String | Yes |
getMetaData() | DatabaseMetaData | Yes |
getTransactionIsolation() | int | Yes |
getTypeMap() | Map | No |
getWarnings() | SQLWarning | Yes |
isClosed() | boolean | Yes |
isReadOnly() | boolean | Yes |
nativeSQL(String sql) | String | Yes |
prepareCall(String sql) | CallableStatement | Yes |
prepareCall(String sql, int resultSetType, int resultSetConcurrency) | CallableStatement | Yes |
prepareStatement(String sql) | PreparedStatement | Yes |
prepareStatement(String sql, int resultSetType, int resultSetConcurrency) | PreparedStatement | Yes |
rollback() | void | Yes |
setAutoCommit(boolean autoCommit) | void | Yes |
setCatalog(String catalog) | void | Yes |
setReadOnly(boolean readOnly) | void | Yes |
setTransactionIsolation(int level) | void | Yes |
setTypeMap(Map map) | void | No |
Methods: | Return Types: | Supported: |
Interface DatabaseMetaData |
allProceduresAreCallable() | boolean | Yes |
allTablesAreSelectable() | boolean | Yes |
dataDefinitionCausesTransactionCommit() | boolean | Yes |
dataDefinitionIgnoredInTransactions() | boolean | Yes |
deletesAreDetected(int type) | boolean | Yes |
doesMaxRowSizeIncludeBlobs() | boolean | Yes |
getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) | ResultSet | Yes |
getCatalogs() | ResultSet | Yes |
getCatalogSeparator() | String | Yes |
getCatalogTerm() | String | Yes |
getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) | ResultSet | Yes |
getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) | ResultSet | Yes |
getConnection() | Connection | Yes |
getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) | ResultSet | Yes |
getDatabaseProductName() | String | Yes |
getDatabaseProductVersion() | String | Yes |
getDefaultTransactionIsolation() | int | Yes |
getDriverMajorVersion() | int | Yes |
getDriverMinorVersion() | int | Yes |
getDriverName() | String | Yes |
getDriverVersion() | String | Yes |
getExportedKeys(String catalog, String schema, String table) | ResultSet | Yes |
getExtraNameCharacters() | String | Yes |
getIdentifierQuoteString() | String | Yes |
getImportedKeys(String catalog, String schema, String table) | ResultSet | Yes |
getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) | ResultSet | Yes |
getMaxBinaryLiteralLength() | int | Yes |
getMaxCatalogNameLength() | int | Yes |
getMaxCharLiteralLength() | int | Yes |
getMaxColumnNameLength() | int | Yes |
getMaxColumnsInGroupBy() | int | Yes |
getMaxColumnsInIndex() | int | Yes |
getMaxColumnsInOrderBy() | int | Yes |
getMaxColumnsInSelect() | int | Yes |
getMaxColumnsInTable() | int | Yes |
getMaxConnections() | int | Yes |
getMaxCursorNameLength() | int | Yes |
getMaxIndexLength() | int | Yes |
getMaxProcedureNameLength() | int | Yes |
getMaxRowSize() | int | Yes |
getMaxSchemaNameLength() | int | Yes |
getMaxStatementLength() | int | Yes |
getMaxStatements() | int | Yes |
getMaxTableNameLength() | int | Yes |
getMaxTablesInSelect() | int | Yes |
getMaxUserNameLength() | int | Yes |
getNumericFunctions() | String | Yes |
getPrimaryKeys(String catalog, String schema, String table) | ResultSet | Yes |
getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) | ResultSet | Yes |
getProcedures(String catalog, String schemaPattern, String procedureNamePattern) | ResultSet | Yes |
getProcedureTerm() | String | Yes |
getSchemas() | ResultSet | Yes |
getSchemaTerm() | String | Yes |
getSearchStringEscape() | String | Yes |
getSQLKeywords() | String | Yes |
getStringFunctions() | String | Yes |
getSystemFunctions() | String | Yes |
getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) | ResultSet | Yes |
getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) | ResultSet | Yes |
getTableTypes() | ResultSet | Yes |
getTimeDateFunctions() | String | Yes |
getTypeInfo() | ResultSet | Yes |
getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) | ResultSet | Yes |
getURL() | String | Yes |
getUserName() | String | Yes |
getVersionColumns(String catalog, String schema, String table) | ResultSet | Yes |
insertsAreDetected(int type) | boolean | Yes |
isCatalogAtStart() | boolean | Yes |
isReadOnly() | boolean | Yes |
nullPlusNonNullIsNull() | boolean | Yes |
nullsAreSortedAtEnd() | boolean | Yes |
nullsAreSortedAtStart() | boolean | Yes |
nullsAreSortedHigh() | boolean | Yes |
nullsAreSortedLow() | boolean | Yes |
othersDeletesAreVisible(int type) | boolean | Yes |
othersInsertsAreVisible(int type) | boolean | Yes |
othersUpdatesAreVisible(int type) | boolean | Yes |
ownDeletesAreVisible(int type) | boolean | Yes |
ownInsertsAreVisible(int type) | boolean | Yes |
ownUpdatesAreVisible(int type) | boolean | Yes |
storesLowerCaseIdentifiers() | boolean | Yes |
storesLowerCaseQuotedIdentifiers() | boolean | Yes |
storesMixedCaseIdentifiers() | boolean | Yes |
storesMixedCaseQuotedIdentifiers() | boolean | Yes |
storesUpperCaseIdentifiers() | boolean | Yes |
storesUpperCaseQuotedIdentifiers() | boolean | Yes |
supportsAlterTableWithAddColumn() | boolean | Yes |
supportsAlterTableWithDropColumn() | boolean | Yes |
supportsANSI92EntryLevelSQL() | boolean | Yes |
supportsANSI92FullSQL() | boolean | Yes |
supportsANSI92IntermediateSQL() | boolean | Yes |
supportsBatchUpdates() | boolean | Yes |
supportsCatalogsInDataManipulation() | boolean | Yes |
supportsCatalogsInIndexDefinitions() | boolean | Yes |
supportsCatalogsInPrivilegeDefinitions() | boolean | Yes |
supportsCatalogsInProcedureCalls() | boolean | Yes |
supportsCatalogsInTableDefinitions() | boolean | Yes |
supportsColumnAliasing() | boolean | Yes |
supportsConvert() | boolean | No |
supportsConvert(int fromType, int toType) | boolean | No |
supportsCoreSQLGrammar() | boolean | Yes |
supportsCorrelatedSubqueries() | boolean | Yes |
supportsDataDefinitionAndDataManipulationTransactions() | boolean | Yes |
supportsDataManipulationTransactionsOnly() | boolean | Yes |
supportsDifferentTableCorrelationNames() | boolean | Yes |
supportsExpressionsInOrderBy() | boolean | Yes |
supportsExtendedSQLGrammar() | boolean | Yes |
supportsFullOuterJoins() | boolean | Yes |
supportsGroupBy() | boolean | Yes |
supportsGroupByBeyondSelect() | boolean | Yes |
supportsGroupByUnrelated() | boolean | Yes |
supportsIntegrityEnhancementFacility() | boolean | Yes |
supportsLikeEscapeClause() | boolean | Yes |
supportsLimitedOuterJoins() | boolean | Yes |
supportsMinimumSQLGrammar() | boolean | Yes |
supportsMixedCaseIdentifiers() | boolean | Yes |
supportsMixedCaseQuotedIdentifiers() | boolean | Yes |
supportsMultipleResultSets() | boolean | Yes |
supportsMultipleTransactions() | boolean | Yes |
supportsNonNullableColumns() | boolean | Yes |
supportsOpenCursorsAcrossCommit() | boolean | Yes |
supportsOpenCursorsAcrossRollback() | boolean | Yes |
supportsOpenStatementsAcrossCommit() | boolean | Yes |
supportsOpenStatementsAcrossRollback() | boolean | Yes |
supportsOrderByUnrelated() | boolean | Yes |
supportsOuterJoins() | boolean | Yes |
supportsPositionedDelete() | boolean | Yes |
supportsPositionedUpdate() | boolean | Yes |
supportsResultSetConcurrency(int type, int concurrency) | boolean | Yes |
supportsResultSetType(int type) | boolean | Yes |
supportsSchemasInDataManipulation() | boolean | Yes |
supportsSchemasInIndexDefinitions() | boolean | Yes |
supportsSchemasInPrivilegeDefinitions() | boolean | Yes |
supportsSchemasInProcedureCalls() | boolean | Yes |
supportsSchemasInTableDefinitions() | boolean | Yes |
supportsSelectForUpdate() | boolean | Yes |
supportsStoredProcedures() | boolean | Yes |
supportsSubqueriesInComparisons() | boolean | Yes |
supportsSubqueriesInExists() | boolean | Yes |
supportsSubqueriesInIns() | boolean | Yes |
supportsSubqueriesInQuantifieds() | boolean | Yes |
supportsTableCorrelationNames() | boolean | Yes |
supportsTransactionIsolationLevel(int level) | boolean | Yes |
supportsTransactions() | boolean | Yes |
supportsUnion() | boolean | Yes |
supportsUnionAll() | boolean | Yes |
updatesAreDetected(int type) | boolean | Yes |
usesLocalFilePerTable() | boolean | Yes |
usesLocalFiles() | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface PreparedStatement |
addBatch() | void | Yes |
clearParameters() | void | Yes |
execute() | boolean | Yes |
executeQuery() | ResultSet | Yes |
executeUpdate() | int | Yes |
getMetaData() | ResultSetMetaData | Yes |
setArray(int i, Array x) | void | No |
setAsciiStream(int parameterIndex, InputStream x, int length) | void | Yes |
setBigDecimal(int parameterIndex, BigDecimal x) | void | Yes |
setBinaryStream(int parameterIndex, InputStream x, int length) | void | Yes |
setBlob(int i, Blob x) | void | Yes |
setBoolean(int parameterIndex, boolean x) | void | Yes |
setByte(int parameterIndex, byte x) | void | Yes |
setBytes(int parameterIndex, byte[] x) | void | Yes |
setCharacterStream(int parameterIndex, Reader reader, int length) | void | Yes |
setClob(int i, Clob x) | void | Yes |
setDate(int parameterIndex, Date x) | void | Yes |
setDate(int parameterIndex, Date x, Calendar cal) | void | Yes |
setDouble(int parameterIndex, double x) | void | Yes |
setFloat(int parameterIndex, float x) | void | Yes |
setInt(int parameterIndex, int x) | void | Yes |
setLong(int parameterIndex, long x) | void | Yes |
setNull(int parameterIndex, int sqlType) | void | yes |
setNull(int paramIndex, int sqlType, String typeName) | void | no |
setObject(int parameterIndex, Object x) | void | Yes |
setObject(int parameterIndex, Object x, int targetSqlType) | void | Yes |
setObject(int parameterIndex, Object x, int targetSqlType, int scale) | void | Yes |
setRef(int i, Ref x) | void | No |
setShort(int parameterIndex, short x) | void | Yes |
setString(int parameterIndex, String x) | void | Yes |
setTime(int parameterIndex, Time x) | void | Yes |
setTime(int parameterIndex, Time x, Calendar cal) | void | Yes |
setTimestamp(int parameterIndex, Timestamp x) | void | Yes |
setTimestamp(int parameterIndex, Timestamp x, Calendar cal) | void | Yes |
setUnicodeStream(int parameterIndex, InputStream x, int length) | void | Yes |
Methods: | Return Types: | Supported: |
Interface ResultSet |
absolute(int row) | boolean | Yes |
afterLast() | void | Yes |
beforeFirst() | void | Yes |
cancelRowUpdates() | void | Yes |
clearWarnings() | void | Yes |
close() | void | Yes |
deleteRow() | void | Yes |
findColumn(String columnName) | int | Yes |
first() | boolean | Yes |
getArray(int i) | Array | No |
getArray(String colName) | Array | Yes |
getAsciiStream(int columnIndex) | InputStream | Yes |
getAsciiStream(String columnName) | InputStream | Yes |
getBigDecimal(int columnIndex) | BigDecimal | Yes |
getBigDecimal(int columnIndex, int scale) | BigDecimal | Yes |
getBigDecimal(String columnName) | BigDecimal | Yes |
getBigDecimal(String columnName, int scale) | BigDecimal | Yes |
getBinaryStream(int columnIndex) | InputStream | Yes |
getBinaryStream(String columnName) | InputStream | Yes |
getBlob(int i) | Blob | Yes |
getBlob(String colName) | Blob | Yes |
getBoolean(int columnIndex) | boolean | Yes |
getBoolean(String columnName) | boolean | Yes |
getByte(int columnIndex) | byte | Yes |
getByte(String columnName) | byte | Yes |
getBytes(int columnIndex) | byte[] | Yes |
getBytes(String columnName) | byte[] | Yes |
getCharacterStream(int columnIndex) | Reader | Yes |
getCharacterStream(String columnName) | Reader | Yes |
getClob(int i) | Clob | Yes |
getClob(String colName) | Clob | Yes |
getConcurrency() | int | Yes |
getCursorName() | String | Yes |
getDate(int columnIndex) | Date | Yes |
getDate(int columnIndex, Calendar cal) | Date | Yes |
getDate(String columnName) | Date | Yes |
getDate(String columnName, Calendar cal) | Date | Yes |
getDouble(int columnIndex) | double | Yes |
getDouble(String columnName) | double | Yes |
getFetchDirection() | int | Yes |
getFetchSize() | int | Yes |
getFloat(int columnIndex) | float | Yes |
getFloat(String columnName) | float | Yes |
getInt(int columnIndex) | int | Yes |
getInt(String columnName) | int | Yes |
getLong(int columnIndex) | long | Yes |
getLong(String columnName) | long | Yes |
getMetaData() | ResultSetMetaData | Yes |
getObject(int columnIndex) | Object | Yes |
getObject(int i, Map map) | Object | No |
getObject(String columnName) | Object | Yes |
getObject(String colName, Map map) | Object | No |
getRef(int i) | Ref | No |
getRef(String colName) | Ref | No |
getRow() | int | Yes |
getShort(int columnIndex) | short | Yes |
getShort(String columnName) | short | Yes |
getStatement() | Statement | Yes |
getString(int columnIndex) | String | Yes |
getString(String columnName) | String | Yes |
getTime(int columnIndex) | Time | Yes |
getTime(int columnIndex, Calendar cal) | Time | Yes |
getTime(String columnName) | Time | Yes |
getTime(String columnName, Calendar cal) | Time | Yes |
getTimestamp(int columnIndex) | Timestamp | Yes |
getTimestamp(int columnIndex, Calendar cal) | Timestamp | Yes |
getTimestamp(String columnName) | Timestamp | Yes |
getTimestamp(String columnName, Calendar cal) | Timestamp | Yes |
getType() | int | Yes |
getUnicodeStream(int columnIndex) | InputStream | Yes |
getUnicodeStream(String columnName) | InputStream | Yes |
getWarnings() | SQLWarning | Yes |
insertRow() | void | Yes |
isAfterLast() | boolean | Yes |
isBeforeFirst() | boolean | Yes |
isFirst() | boolean | Yes |
isLast() | boolean | Yes |
last() | boolean | Yes |
moveToCurrentRow() | void | Yes |
moveToInsertRow() | void | Yes |
next() | boolean | Yes |
previous() | boolean | Yes |
refreshRow() | void | Yes |
relative(int rows) | boolean | Yes |
rowDeleted() | boolean | Yes |
rowInserted() | boolean | Yes |
rowUpdated() | boolean | Yes |
setFetchDirection(int direction) | void | Yes |
setFetchSize(int rows) | void | Yes |
updateAsciiStream(int columnIndex, InputStream x, int length) | void | Yes |
updateAsciiStream(String columnName, InputStream x, int length) | void | Yes |
updateBigDecimal(int columnIndex, BigDecimal x) | void | Yes |
updateBigDecimal(String columnName, BigDecimal x) | void | Yes |
updateBinaryStream(int columnIndex, InputStream x, int length) | void | Yes |
updateBinaryStream(String columnName, InputStream x, int length) | void | Yes |
updateBoolean(int columnIndex, boolean x) | void | Yes |
updateBoolean(String columnName, boolean x) | void | Yes |
updateByte(int columnIndex, byte x) | void | Yes |
updateByte(String columnName, byte x) | void | Yes |
updateBytes(int columnIndex, byte[] x) | void | Yes |
updateBytes(String columnName, byte[] x) | void | Yes |
updateCharacterStream(int columnIndex, Reader x, int length) | void | Yes |
updateCharacterStream(String columnName, Reader reader, int length) | void | Yes |
updateDate(int columnIndex, Date x) | void | Yes |
updateDate(String columnName, Date x) | void | Yes |
updateDouble(int columnIndex, double x) | void | Yes |
updateDouble(String columnName, double x) | void | Yes |
updateFloat(int columnIndex, float x) | void | Yes |
updateFloat(String columnName, float x) | void | Yes |
updateInt(int columnIndex, int x) | void | Yes |
updateInt(String columnName, int x) | void | Yes |
updateLong(int columnIndex, long x) | void | Yes |
updateLong(String columnName, long x) | void | Yes |
updateNull(int columnIndex) | void | Yes |
updateNull(String columnName) | void | Yes |
updateObject(int columnIndex, Object x) | void | Yes |
updateObject(int columnIndex, Object x, int scale) | void | Yes |
updateObject(String columnName, Object x) | void | Yes |
updateObject(String columnName, Object x, int scale) | void | Yes |
updateRow() | void | Yes |
updateShort(int columnIndex, short x) | void | Yes |
updateShort(String columnName, short x) | void | Yes |
updateString(int columnIndex, String x) | void | Yes |
updateString(String columnName, String x) | void | Yes |
updateTime(int columnIndex, Time x) | void | Yes |
updateTime(String columnName, Time x) | void | Yes |
updateTimestamp(int columnIndex, Timestamp x) | void | Yes |
updateTimestamp(String columnName, Timestamp x) | void | Yes |
wasNull() | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface ResultSetMetaData |
getCatalogName(int column) | String | Yes |
getColumnClassName(int column) | String | No |
getColumnCount() | int | Yes |
getColumnDisplaySize(int column) | int | Yes |
getColumnLabel(int column) | String | Yes |
getColumnName(int column) | String | Yes |
getColumnType(int column) | int | Yes |
getColumnTypeName(int column) | String | Yes |
getPrecision(int column) | int | Yes |
getScale(int column) | int | Yes |
getSchemaName(int column) | String | Yes |
getTableName(int column) | String | Yes |
isAutoIncrement(int column) | boolean | Yes |
isCaseSensitive(int column) | boolean | Yes |
isCurrency(int column) | boolean | Yes |
isDefinitelyWritable(int column) | boolean | Yes |
isNullable(int column) | int | Yes |
isReadOnly(int column) | boolean | Yes |
isSearchable(int column) | boolean | Yes |
isSigned(int column) | boolean | Yes |
isWritable(int column) | boolean | Yes |
Methods: | Return Types: | Supported: |
Interface Statement |
addBatch(String sql) | void | Yes |
cancel() | void | No |
clearBatch() | void | Yes |
clearWarnings() | void | Yes |
close() | void | Yes |
execute(String sql) | boolean | Yes |
executeBatch() | int[] | Yes |
executeQuery(String sql) | ResultSet | Yes |
executeUpdate(String sql) | int | Yes |
getConnection() | Connection | Yes |
getFetchDirection() | int | Yes |
getFetchSize() | int | Yes |
getMaxFieldSize() | int | Yes |
getMaxRows() | int | Yes |
getMoreResults() | boolean | Yes |
getQueryTimeout() | int | Yes |
getResultSet() | ResultSet | Yes |
getResultSetConcurrency() | int | Yes |
getResultSetType() | int | Yes |
getUpdateCount() | int | Yes |
getWarnings() | SQLWarning | Yes |
setCursorName(String name) | void | no |
setEscapeProcessing(boolean enable) | void | Yes |
setFetchDirection(int direction) | void | no |
setFetchSize(int rows) | void | no |
setMaxFieldSize(int max) | void | Yes |
setMaxRows(int max) | void | Yes |
setQueryTimeout(int seconds) | void | Yes |
Methods: | Return Types: | Supported: |
Interface Array |
No | |
Interface Struct |
No | |
Interface SQLOutput |
No | |
Interface SQLInput |
No | |
Interface SQLData |
No | |
Interface Ref |
No | |
Interface Driver |
Support but not to public |