亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:124日期: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 數據庫
主站蜘蛛池模板: 国产chinese中国hdxxxx | 中文字幕日韩专区 | 国产高清资源 | 久久久一区二区三区不卡 | 国产精品第一区亚洲精品 | 91国内视频在线观看 | 66j8免费视频 | 轻轻啪在线视频播放 | pans国产大尺度私密拍摄视频 | 久久久精品一级二级三级 | 在线精品国内外视频 | 综合久久久久久久综合网 | 偷自拍第一页 | 国产精品一区二区丝瓜 | 国产1区精品 | 色综合久久天天综合绕观看 | 91麻豆精品国产高清在线 | 国产欧美日韩看片片在线人成 | 亚洲国产精选 | 国产无人区一区二区三区 | 国产a毛片高清视 | 国产色图区 | 欧洲成人全免费视频网站 | 亚洲国产精品国产自在在线 | 亚洲综合色网站 | 高清一区二区三区免费 | 国产成人精品免费午夜 | 99精品国产成人a∨免费看 | 92国产精品 | 欧美伊人久久久久久久久影院 | 视频精品一区二区三区 | 国产一区二区三区四卡 | 国产小视频在线观看免费 | 欧美yw193.c㎝在线观看 | 国产疯狂露脸对白 | 国产福利视频奶水在线 | 日韩有码第一页 | 亚洲一区二区三区久久 | 福利一区视频 | 亚洲精品视频在线看 | 97视频免费在线 |