📄 db2api_linux.cpp
字号:
g_db2API.SQLGetDescField = (SQLGetDescField_t)::dlsym(g_hDB2DLL, "SQLGetDescField"); assert(g_db2API.SQLGetDescField != NULL); g_db2API.SQLGetDescRec = (SQLGetDescRec_t)::dlsym(g_hDB2DLL, "SQLGetDescRec"); assert(g_db2API.SQLGetDescRec != NULL); g_db2API.SQLGetDiagField = (SQLGetDiagField_t)::dlsym(g_hDB2DLL, "SQLGetDiagField"); assert(g_db2API.SQLGetDiagField != NULL); g_db2API.SQLGetDiagRec = (SQLGetDiagRec_t)::dlsym(g_hDB2DLL, "SQLGetDiagRec"); assert(g_db2API.SQLGetDiagRec != NULL); g_db2API.SQLGetEnvAttr = (SQLGetEnvAttr_t)::dlsym(g_hDB2DLL, "SQLGetEnvAttr"); assert(g_db2API.SQLGetEnvAttr != NULL); g_db2API.SQLGetFunctions = (SQLGetFunctions_t)::dlsym(g_hDB2DLL, "SQLGetFunctions"); assert(g_db2API.SQLGetFunctions != NULL); g_db2API.SQLGetInfo = (SQLGetInfo_t)::dlsym(g_hDB2DLL, "SQLGetInfo"); assert(g_db2API.SQLGetInfo != NULL); g_db2API.SQLGetLength = (SQLGetLength_t)::dlsym(g_hDB2DLL, "SQLGetLength"); assert(g_db2API.SQLGetLength != NULL); g_db2API.SQLGetPosition = (SQLGetPosition_t)::dlsym(g_hDB2DLL, "SQLGetPosition"); assert(g_db2API.SQLGetPosition != NULL); g_db2API.SQLGetSQLCA = (SQLGetSQLCA_t)::dlsym(g_hDB2DLL, "SQLGetSQLCA"); assert(g_db2API.SQLGetSQLCA != NULL); g_db2API.SQLGetStmtAttr = (SQLGetStmtAttr_t)::dlsym(g_hDB2DLL, "SQLGetStmtAttr"); assert(g_db2API.SQLGetStmtAttr != NULL); g_db2API.SQLGetStmtOption = (SQLGetStmtOption_t)::dlsym(g_hDB2DLL, "SQLGetStmtOption"); assert(g_db2API.SQLGetStmtOption != NULL); g_db2API.SQLGetSubString = (SQLGetSubString_t)::dlsym(g_hDB2DLL, "SQLGetSubString"); assert(g_db2API.SQLGetSubString != NULL); g_db2API.SQLGetTypeInfo = (SQLGetTypeInfo_t)::dlsym(g_hDB2DLL, "SQLGetTypeInfo"); assert(g_db2API.SQLGetTypeInfo != NULL); g_db2API.SQLMoreResults = (SQLMoreResults_t)::dlsym(g_hDB2DLL, "SQLMoreResults"); assert(g_db2API.SQLMoreResults != NULL); g_db2API.SQLNativeSql = (SQLNativeSql_t)::dlsym(g_hDB2DLL, "SQLNativeSql"); assert(g_db2API.SQLNativeSql != NULL); g_db2API.SQLNumParams = (SQLNumParams_t)::dlsym(g_hDB2DLL, "SQLNumParams"); assert(g_db2API.SQLNumParams != NULL); g_db2API.SQLNumResultCols = (SQLNumResultCols_t)::dlsym(g_hDB2DLL, "SQLNumResultCols"); assert(g_db2API.SQLNumResultCols != NULL); g_db2API.SQLParamData = (SQLParamData_t)::dlsym(g_hDB2DLL, "SQLParamData"); assert(g_db2API.SQLParamData != NULL); g_db2API.SQLParamOptions = (SQLParamOptions_t)::dlsym(g_hDB2DLL, "SQLParamOptions"); assert(g_db2API.SQLParamOptions != NULL); g_db2API.SQLPrepare = (SQLPrepare_t)::dlsym(g_hDB2DLL, "SQLPrepare"); assert(g_db2API.SQLPrepare != NULL); g_db2API.SQLPrimaryKeys = (SQLPrimaryKeys_t)::dlsym(g_hDB2DLL, "SQLPrimaryKeys"); assert(g_db2API.SQLPrimaryKeys != NULL); g_db2API.SQLProcedureColumns= (SQLProcedureColumns_t)::dlsym(g_hDB2DLL, "SQLProcedureColumns"); assert(g_db2API.SQLProcedureColumns != NULL); g_db2API.SQLProcedures = (SQLProcedures_t)::dlsym(g_hDB2DLL, "SQLProcedures"); assert(g_db2API.SQLProcedures != NULL); g_db2API.SQLPutData = (SQLPutData_t)::dlsym(g_hDB2DLL, "SQLPutData"); assert(g_db2API.SQLPutData != NULL); g_db2API.SQLRowCount = (SQLRowCount_t)::dlsym(g_hDB2DLL, "SQLRowCount"); assert(g_db2API.SQLRowCount != NULL); g_db2API.SQLSetColAttributes= (SQLSetColAttributes_t)::dlsym(g_hDB2DLL, "SQLSetColAttributes"); assert(g_db2API.SQLSetColAttributes != NULL); g_db2API.SQLSetConnectAttr = (SQLSetConnectAttr_t)::dlsym(g_hDB2DLL, "SQLSetConnectAttr"); assert(g_db2API.SQLSetConnectAttr != NULL); g_db2API.SQLSetConnection = (SQLSetConnection_t)::dlsym(g_hDB2DLL, "SQLSetConnection"); assert(g_db2API.SQLSetConnection != NULL); g_db2API.SQLSetConnectOption= (SQLSetConnectOption_t)::dlsym(g_hDB2DLL, "SQLSetConnectOption"); assert(g_db2API.SQLSetConnectOption != NULL); g_db2API.SQLSetCursorName = (SQLSetCursorName_t)::dlsym(g_hDB2DLL, "SQLSetCursorName"); assert(g_db2API.SQLSetCursorName != NULL); g_db2API.SQLSetDescField = (SQLSetDescField_t)::dlsym(g_hDB2DLL, "SQLSetDescField"); assert(g_db2API.SQLSetDescField != NULL); g_db2API.SQLSetDescRec = (SQLSetDescRec_t)::dlsym(g_hDB2DLL, "SQLSetDescRec"); assert(g_db2API.SQLSetDescRec != NULL); g_db2API.SQLSetEnvAttr = (SQLSetEnvAttr_t)::dlsym(g_hDB2DLL, "SQLSetEnvAttr"); assert(g_db2API.SQLSetEnvAttr != NULL); g_db2API.SQLSetParam = (SQLSetParam_t)::dlsym(g_hDB2DLL, "SQLSetParam"); assert(g_db2API.SQLSetParam != NULL); g_db2API.SQLSetPos = (SQLSetPos_t)::dlsym(g_hDB2DLL, "SQLSetPos"); assert(g_db2API.SQLSetPos != NULL); g_db2API.SQLSetStmtAttr = (SQLSetStmtAttr_t)::dlsym(g_hDB2DLL, "SQLSetStmtAttr"); assert(g_db2API.SQLSetStmtAttr != NULL); g_db2API.SQLSetStmtOption = (SQLSetStmtOption_t)::dlsym(g_hDB2DLL, "SQLSetStmtOption"); assert(g_db2API.SQLSetStmtOption != NULL); g_db2API.SQLSpecialColumns = (SQLSpecialColumns_t)::dlsym(g_hDB2DLL, "SQLSpecialColumns"); assert(g_db2API.SQLSpecialColumns != NULL); g_db2API.SQLStatistics = (SQLStatistics_t)::dlsym(g_hDB2DLL, "SQLStatistics"); assert(g_db2API.SQLStatistics != NULL); g_db2API.SQLTablePrivileges = (SQLTablePrivileges_t)::dlsym(g_hDB2DLL, "SQLTablePrivileges"); assert(g_db2API.SQLTablePrivileges != NULL); g_db2API.SQLTables = (SQLTables_t)::dlsym(g_hDB2DLL, "SQLTables"); assert(g_db2API.SQLTables != NULL); g_db2API.SQLTransact = (SQLTransact_t)::dlsym(g_hDB2DLL, "SQLTransact"); assert(g_db2API.SQLTransact != NULL);}static void ResetAPI(){ g_db2API.SQLAllocConnect = NULL; g_db2API.SQLAllocEnv = NULL; g_db2API.SQLAllocHandle = NULL; g_db2API.SQLAllocStmt = NULL; g_db2API.SQLBindCol = NULL; g_db2API.SQLBindFileToCol = NULL; g_db2API.SQLBindFileToParam = NULL; g_db2API.SQLBindParameter = NULL; g_db2API.SQLBrowseConnect = NULL; g_db2API.SQLBuildDataLink = NULL; g_db2API.SQLBulkOperations = NULL; g_db2API.SQLCancel = NULL; g_db2API.SQLCloseCursor = NULL; g_db2API.SQLColAttribute = NULL; g_db2API.SQLColAttributes = NULL; g_db2API.SQLColumnPrivileges= NULL; g_db2API.SQLColumns = NULL; g_db2API.SQLConnect = NULL; g_db2API.SQLCopyDesc = NULL; g_db2API.SQLDataSources = NULL; g_db2API.SQLDescribeCol = NULL; g_db2API.SQLDescribeParam = NULL; g_db2API.SQLDisconnect = NULL; g_db2API.SQLDriverConnect = NULL; g_db2API.SQLEndTran = NULL; g_db2API.SQLError = NULL; g_db2API.SQLExecDirect = NULL; g_db2API.SQLExecute = NULL; g_db2API.SQLExtendedBind = NULL; g_db2API.SQLExtendedFetch = NULL; g_db2API.SQLExtendedPrepare = NULL; g_db2API.SQLFetch = NULL; g_db2API.SQLFetchScroll = NULL; g_db2API.SQLForeignKeys = NULL; g_db2API.SQLFreeConnect = NULL; g_db2API.SQLFreeEnv = NULL; g_db2API.SQLFreeHandle = NULL; g_db2API.SQLFreeStmt = NULL; g_db2API.SQLGetConnectAttr = NULL; g_db2API.SQLGetConnectOption= NULL; g_db2API.SQLGetCursorName = NULL; g_db2API.SQLGetData = NULL; g_db2API.SQLGetDataLinkAttr = NULL; g_db2API.SQLGetDescField = NULL; g_db2API.SQLGetDescRec = NULL; g_db2API.SQLGetDiagField = NULL; g_db2API.SQLGetDiagRec = NULL; g_db2API.SQLGetEnvAttr = NULL; g_db2API.SQLGetFunctions = NULL; g_db2API.SQLGetInfo = NULL; g_db2API.SQLGetLength = NULL; g_db2API.SQLGetPosition = NULL; g_db2API.SQLGetSQLCA = NULL; g_db2API.SQLGetStmtAttr = NULL; g_db2API.SQLGetStmtOption = NULL; g_db2API.SQLGetSubString = NULL; g_db2API.SQLGetTypeInfo = NULL; g_db2API.SQLMoreResults = NULL; g_db2API.SQLNativeSql = NULL; g_db2API.SQLNumParams = NULL; g_db2API.SQLNumResultCols = NULL; g_db2API.SQLParamData = NULL; g_db2API.SQLParamOptions = NULL; g_db2API.SQLPrepare = NULL; g_db2API.SQLPrimaryKeys = NULL; g_db2API.SQLProcedureColumns= NULL; g_db2API.SQLProcedures = NULL; g_db2API.SQLPutData = NULL; g_db2API.SQLRowCount = NULL; g_db2API.SQLSetColAttributes= NULL; g_db2API.SQLSetConnectAttr = NULL; g_db2API.SQLSetConnection = NULL; g_db2API.SQLSetConnectOption= NULL; g_db2API.SQLSetCursorName = NULL; g_db2API.SQLSetDescField = NULL; g_db2API.SQLSetDescRec = NULL; g_db2API.SQLSetEnvAttr = NULL; g_db2API.SQLSetParam = NULL; g_db2API.SQLSetPos = NULL; g_db2API.SQLSetStmtAttr = NULL; g_db2API.SQLSetStmtOption = NULL; g_db2API.SQLSpecialColumns = NULL; g_db2API.SQLStatistics = NULL; g_db2API.SQLTablePrivileges = NULL; g_db2API.SQLTables = NULL; g_db2API.SQLTransact = NULL;}void AddDB2Support(){ if(!g_hDB2DLL) { // load DB2 API library g_hDB2DLL = ::dlopen(g_sDB2DLLName, RTLD_LAZY|RTLD_GLOBAL); if(!g_hDB2DLL) throw SAException(SA_Library_Error, -1, -1, IDS_LOAD_LIBRARY_FAILS, ::dlerror(), g_sDB2DLLName); g_nDB2DLLVersionLoaded = 0; // Version unknown LoadAPI(); } g_nDB2DLLRefs++;}void ReleaseDB2Support(){ assert(g_nDB2DLLRefs > 0); g_nDB2DLLRefs--; if(!g_nDB2DLLRefs) { g_nDB2DLLVersionLoaded = 0; ResetAPI(); //::dlclose(g_hDB2DLL); g_hDB2DLL = NULL; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -