色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Oracle與Access表之間的導入和導出

瀏覽:141日期:2023-11-22 14:14:36
本文主要回答了如何在FORM的程序中實現Oracle與Access表之間的導入和導出這個問題。 問題的解答: 預備工作: 1.安裝OCA。運行Developer的安裝盤,選擇自定義安裝,選擇Oracle Open Client Adapter for ODBC安裝。 2.在數據源(ODBC)中添加DSN。控制面板->治理工具->數據源(ODBC),選擇“用戶DSN”,添加要進行操作的Access的文件。在“高級”選項里,填上“登錄名稱”和“密碼”(很重要,在程序中會用到)。 下面以實際例子來說明: 假設在Oracle中和Access中都有一個student表,表中字段相同(name char(10) ,age number(2)),在預備工作第2步中的“數據源名”為test,“登錄名稱”和“密碼”都為user。 下面為從Oracle導出到Access的PROCEDURE: PROCEDUREoracle_to_accessISconnection_idEXEC_SQL.ConnType;action_cursorEXEC_SQL.CursType;ignorePLS_INTEGER;t_namestudent.name%type;t_agestudent.age%type;cursortemp_cursorisselect*fromstudent;BEGINconnection_id:=EXEC_SQL.OPEN_CONNECTION('user/user@odbc:test');action_cursor:=EXEC_SQL.OPEN_CURSOR(connection_id);EXEC_SQL.PARSE(connection_id,action_cursor,'delete*fromstudent');ignore:=EXEC_SQL.EXECUTE(connection_id,action_cursor);EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);opentemp_cursor;eXPort_count:=0;action_cursor:=EXEC_SQL.OPEN_CURSOR(connection_id);EXEC_SQL.PARSE(connection_id,action_cursor,'INSERTINTOstudent(name,age)values(:1,:2)');loopfetchtemp_cursorintot_name,t_age;exitwhentemp_cursor%notfound;EXEC_SQL.BIND_VARIABLE(connection_id,action_cursor,':1',t_name);EXEC_SQL.BIND_VARIABLE(connection_id,action_cursor,':2',t_age);ignore:=EXEC_SQL.EXECUTE(connection_id,action_cursor);endloop;closetemp_cursor;EXEC_SQL.PARSE(connection_id,action_cursor,'commit');ignore:=EXEC_SQL.EXECUTE(connection_id,action_cursor);EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);EXEC_SQL.CLOSE_CONNECTION(connection_id);EXCEPTIONWHENEXEC_SQL.PACKAGE_ERRORTHENIFEXEC_SQL.LAST_ERROR_CODE(connection_id)!=0THENmessage('數據導出至ACCESS失敗:'TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(connection_id))':'EXEC_SQL.LAST_ERROR_MESG(connection_id));ENDIF;IFEXEC_SQL.IS_CONNECTED(connection_id)THENIFEXEC_SQL.IS_OPEN(connection_id,action_cursor)THENEXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);ENDIF;EXEC_SQL.CLOSE_CONNECTION(connection_id);ENDIF;END;下面為從Access導出到Oracles的procedure:PROCEDUREAccess_to_oracleISconnection_idEXEC_SQL.ConnType;action_cursorEXEC_SQL.CursType;ignorePLS_INTEGER;t_namestudent.name%type;t_agestudent.age%type;BEGINconnection_id:=EXEC_SQL.OPEN_CONNECTION('user/user@odbc:test');action_cursor:=EXEC_SQL.OPEN_CURSOR(connection_id);deletefromstudent;EXEC_SQL.PARSE(connection_id,action_cursor,'selectname,agefromstudent');ignore:=EXEC_SQL.EXECUTE(connection_id,action_cursor);exec_sql.define_column(connection_id,action_cursor,1,t_name,10);exec_sql.define_column(connection_id,action_cursor,2,t_age);ignore:=EXEC_SQL.EXECUTE(connection_id,action_cursor);while(exec_sql.fetch_rows(connection_id,action_cursor)>0)loopexec_sql.column_value(connection_id,action_cursor,1,t_name);exec_sql.column_value(connection_id,action_cursor,2,t_age);insertintotest(name,age)values(t_name,t_age);endloop;commit;EXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);EXEC_SQL.CLOSE_CONNECTION(connection_id);EXCEPTIONWHENEXEC_SQL.PACKAGE_ERRORTHENIFEXEC_SQL.LAST_ERROR_CODE(connection_id)!=0THENmessage('數據導入至ORACLE失敗:'TO_CHAR(EXEC_SQL.LAST_ERROR_CODE(connection_id))':'EXEC_SQL.LAST_ERROR_MESG(connection_id));ENDIF;IFEXEC_SQL.IS_CONNECTED(connection_id)THENIFEXEC_SQL.IS_OPEN(connection_id,action_cursor)THENEXEC_SQL.CLOSE_CURSOR(connection_id,action_cursor);ENDIF;EXEC_SQL.CLOSE_CONNECTION(connection_id);ENDIF;END;注重:EXEC_SQL.BIND_VARIABLE中綁定的變量只能是以下三種類型:NUMBER,DATE,VARCHAR2。對于Access中的“是/否”的布爾型變量,可以用NUMBER類型的1和0來表示。假如Access中的表名或者字段名中有空格,在寫SQL語句的時候可以用雙引號把表名或者字段名包括起來,如:本例中假如Access中表名為student detail,字段名分別為student name和student age,那插入數據的SQL語句為: insert into “student detail”(“student name”,”student age”) values(:1,:2)。
標簽: Oracle 數據庫
主站蜘蛛池模板: 国产专区在线 | 人成精品视频三区二区一区 | 精品国产精品a | 万全影院亚洲影院理论片 | 9丨精品国产高清自在线看 ⅹxx中国xxx人妖 | 三级黄色片日韩 | 亚洲综合精品一区二区三区中文 | 成人爱爱网站在线观看 | 免费观看一级成人毛片软件 | 欧美午夜在线观看理论片 | 久久免费视频1 | 国产精品三级在线观看 | 成人免费在线观看视频 | 成人毛片手机版免费看 | 成人精品第一区二区三区 | 在线观看日本永久免费视频 | 国产国产人免费人成成免视频 | 亚洲小视频 | 萝控精品福利视频一区 | 欧美一线高本道高清在线 | 欧美成人资源 | 亚欧在线视频 | 欧美精品一区二区三区视频 | 久热国产视频 | 爱啪网亚洲第一福利网站 | 女人18毛片a级毛片 女人aaaaa片一级一毛片 | 男人的天堂在线免费视频 | 成人精品区 | 亚洲一区二区成人 | 久揄揄鲁一二三四区高清在线 | 美女操穴视频 | 亚洲男女网站 | 精品9e精品视频在线观看 | 免费人成网站 | 三级网站免费观看 | 爱呦视频在线播放网址 | 美国免费一级片 | 日本三级网站在线线观看 | 91一区二区视频 | 亚洲国产欧美精品 | 亚洲在线中文字幕 |