int main() { otl_connect::otl_initialize(); // initialize ODBC environment try{ db.rlogon("scott/tigger@freetds_sybsql"); // connect to ODBC db.auto_commit_off(); otl_cursor::direct_exec(db,"drop procedure my_proc",0); otl_cursor::direct_exec (db, "CREATE PROCEDURE my_proc " " @A int out, " " @B varchar(60) out, " " @C varchar(60) " "AS " "BEGIN " " SELECT @A=@A+1" " SELECT @B=@C " "END" ); // create stored procedure stored_proc(); // invoking stored procedure } catch(otl_exception& p){ // intercept OTL exceptions cerr<<p.msg<<endl; // print out error message cerr<<p.code<<endl; // print out error code cerr<<p.var_info<<endl; // print out the variable that caused the error cerr<<p.sqlstate<<endl; // print out SQLSTATE message cerr<<p.stm_text<<endl; // print out SQL that caused the error } db.logoff(); // disconnect from the data source return 0; }
int main() { otl_connect::otl_initialize(); // initialize ODBC environment try{ db.rlogon("scott/tigger@freetds_sybsql"); // connect to ODBC db.auto_commit_off(); otl_cursor::direct_exec ( db, "drop table test_tab", otl_exception::disabled // disable OTL exceptions ); // drop table otl_cursor::direct_exec ( db, "create table test_tab(f1 int, f2 varchar(30))" ); // create table otl_cursor::direct_exec(db,"drop procedure my_proc",0); otl_cursor::direct_exec ( db, "CREATE PROCEDURE my_proc " " @F1 int " "AS " "SELECT * FROM test_tab " "WHERE f1>=@F1 AND f1<=@F1*2 " ); // create stored procedure insert(); // insert record into table select(); // select records from table } catch(otl_exception& p){ // intercept OTL exceptions cerr<<p.msg<<endl; // print out error message cerr<<p.stm_text<<endl; // print out SQL that caused the error cerr<<p.sqlstate<<endl; // print out SQLSTATE message cerr<<p.var_info<<endl; // print out the variable that caused the error } db.logoff(); // disconnect from ODBC return 0; }
int main() { otl_connect::otl_initialize(); // initialize ODBC environment try{ main_db.rlogon("scott/tigger@freetds_sybsql"); // connect to ODBC main_db.auto_commit_off(); otl_cursor::direct_exec ( main_db, "drop table test_tab", otl_exception::disabled // disable OTL exceptions ); // drop table otl_cursor::direct_exec ( main_db, "create table test_tab(f1 int, f2 varchar(30))" ); // create table insert(); // insert records into table // opening a secondary connect secondary_db.rlogon (main_db.get_connect_struct().get_henv(), // environment handle to the main database connect main_db.get_connect_struct().get_hdbc() // database connect handle to the main database connect ); // connect to ODBC select(); // select records from table // releasing the secondary connect secondary_db.logoff(); }catch(otl_exception& p){ // intercept OTL exceptions cerr<<p.msg<<endl; // print out error message cerr<<p.stm_text<<endl; // print out SQL that caused the error cerr<<p.sqlstate<<endl; // print out SQLSTATE message cerr<<p.var_info<<endl; // print out the variable that caused the error } main_db.logoff(); // disconnect from ODBC return 0; }
int main() { otl_connect::otl_initialize(); // initialize ODBC environment try{ db.rlogon("scott/tigger@freetds_sybsql"); // connect to Sybase db.auto_commit_off(); otl_cursor::direct_exec ( db, "drop table test_tab", otl_exception::disabled // disable OTL exceptions ); // drop table otl_cursor::direct_exec ( db, "create table test_tab(f1 int, f2 varchar(30))" ); // create table insert(); // insert records into table } catch(otl_exception& p){ // intercept OTL exceptions cerr<<p.msg<<endl; // print out error message cerr<<p.stm_text<<endl; // print out SQL that caused the error cerr<<p.sqlstate<<endl; // print out SQLSTATE info. cerr<<p.var_info<<endl; // print out the variable that caused the error if(p.arr_len>0){ // checking if the extended fields were populated for(int j=0;j<p.arr_len;++j){ cout<<"MSG["<<j<<"]="<<p.msg_arr[j]<<endl; // message array cout<<"SQLSTATE["<<j<<"]="<<p.sqlstate_arr[j]<<endl; // sqlstate array cout<<"CODE["<<j<<"]="<<p.code_arr[j]<<endl; // code array } } } db.logoff(); // disconnect from MS SQL Server return 0; }
int main() { otl_connect::otl_initialize(); // initialize ODBC environment try{ db.rlogon("scott/tigger@freetds_sybsql"); // connect to ODBC db.auto_commit_off(); otl_cursor::direct_exec ( db, "drop table test_tab", otl_exception::disabled // disable OTL exceptions ); // drop table otl_cursor::direct_exec ( db, "create table test_tab(f1 int, f2 text)" ); // create table insert(); // insert records into table select(); // select records from table } catch(otl_exception& p){ // intercept OTL exceptions cerr<<p.msg<<endl; // print out error message cerr<<p.stm_text<<endl; // print out SQL that caused the error cerr<<p.var_info<<endl; // print out the variable that caused the error } db.logoff(); // disconnect from ODBC return 0; }
int main() { otl_connect::otl_initialize(); // initialize ODBC environment try{ db.rlogon("scott/tigger@freetds_sybsql"); // connect to ODBC db.auto_commit_off(); select(); // query the system data dictionary via ODBC functions. } catch(otl_exception& p){ // intercept OTL exceptions cerr<<p.msg<<endl; // print out error message cerr<<p.stm_text<<endl; // print out SQL that caused the error cerr<<p.sqlstate<<endl; // print out SQLSTATE message cerr<<p.var_info<<endl; // print out the variable that caused the error } db.logoff(); // disconnect from ODBC return 0; }