如何将WORD文档放入ORACLE
将WORD文档放入ORACLE有两种方式,一是文件采用文件系统存储,数据库只存放文件的相对路径,二是存入BLOB类型字段中。
这里比较推荐第一种方式,便于数据及文件管理,方便导入导出,缺点是容易造成数据与文件内容不一致,文件管理与ORACLE关系不大。重点说一下第二种方式即BLOB\CLOB方式,对于内容不大的可直接存取BLOB,太大的文件借助目录文件。
reate or replace procedure TEST_BLOB_INS (FBuffer IN VARChAR2) IS DEST_LOB BLOB; WRITE_AMOUNT INTEGER ;BEGIN--FILE_CONTENT为指定大字段 UPDATE XXTABLE SET FILE_CONTENT=EMPTY_BLOB() WHERE ID= 999 ; SELECT FILE_CONTENT INTO DEST_LOB FROM XXTABLE WHERE ID = 999 FOR UPDATE; DBMS_LOB.OPEN(DEST_LOB,DBMS_LOB.LOB_READWRITE); WRITE_AMOUNT := LENGTHB(WR_BUFFER) ; DBMS_LOB.WRITE(DEST_LOB, WRITE_AMOUNT, 1, UTL_RAW.cast_to_raw(WR_BUFFER)); DBMS_LOB.CLOSE(DEST_LOB); COMMIT;END TEST_BLOB;借助目录方式在存取:具体过程:A,首先请DBA在控制台创建目录记录 CREATE OR REPLACE DIRECTORY MY_DIR as '/home/jsp'; -- 可使用 select * from dba_directories 进行查询是否创建成功;B,再将新建的MY_DIR目录别名授权给指定用户使用GRANT READ,WRITE on DIRECTORY MY_DIR TO user_cms ; C,将拟存入数据库的文件上传至服务器的/home/jsp目录下D,再使用以下过程进行文件读出并写入数据库, FName 为文件名, RecID为指定表记录的IDcreate or replace procedure TEST_BLOB_FILEINS(RECID IN INTEGER,FName IN VARCHAR2) IS DEST_LOB BLOB; V_FILE BFILE ; V_Fsize INTEGER ; BEGIN V_FILE := BFILENAME('MY_DIR', FName); UPDATE xxTAble SET FILE_CONTENT=EMPTY_BLOB() WHERE ID= RECID RETURN FILE_CONTENT INTO DEST_LOB; v_FSize := DBMS_LOB.GETLENGTH(v_file); DBMS_OUTPUT.PUT_LINE('File size: ' || v_Fsize); DBMS_LOB.FILEOPEN(V_FILE); DBMS_LOB.LOADFROMFILE(DEST_LOB, V_FILE, DBMS_LOB.LOBMAXSIZE); DBMS_LOB.FILECLOSEALL; COMMIT; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('在更新BLOB内容时不成功,ID=' || RECID ) ; END TEST_BLOB;数据提取过程 create or replace procedure download_blob(srcname varchar2, dstname varchar2) as mount binary_integer := 32767; fbuffer raw(32767); utlfile utl_file.file_type; dumpfile blob; pos integer := 1; len binary_integer; begin select blob_file into dumpfile from blob_tb where data_name = srcname; len := dbms_lob.getlength(dumpfile); utlfile := utl_file.fopen('MY_DIR', dstname, 'wb', 32767); while pos 评论0 0 0
如何把文本文件导入oracle
首先有一个info。txt文件,是按竖线分割的记录 “FFF_GGG_FF|GOD|254|254|16384|16384|254|254|” 1、先是在oracle中创建相应的表,结构如下: SQL> desc info; TABLENAME VARCHAR2(200) OWNUSER VARCHAR2(100) EXPNUMS NUMBER(12) EXPLOGNUMS NUMBER(12) EXPSIZE NUMBER(12) IMPSIZE NUMBER(12) IMPLOGNUMS NUMBER(12) IMPNUMS NUMBER(12) 2、新建一个控制文件info。
ctl 写明文件名和按“|”分开字段 load data infile 'info。txt' append into table info fields terminated by '|' ( TABLENAME, OWNUSER, EXPNUMS, EXPLOGNUMS, EXPSIZE, IMPSIZE, IMPLOGNUMS, IMPNUMS ) 3、新建info。
sh的脚本,或直接在终端里输入 #!/bin/bash sqlldr senwei/senwei control=$HOME/oracle/info。ctl 哎呀 其实就一句命令,真不好意思…… 还有一句就是想把info。
txt转换为excel格式,然后在windows打开。 但是在linux环境下执行的语句 cat exp_imp_report。
list|sed 's/|/\t/g' >aa。xls。
excel表数据如何导入到oracle数据库表中
使用pl/sql developer可以完成1、控制面板-->管理工具-->数据源 (ODBC)-->添加-->选择驱动 *.xls-->完成-->选择你的excel表格 2、pl/sql-->tools-->ODBC Importer Data From ODBC标签页:DSN选择刚刚添加的数据源,点击connect Data To Oracle标签页:选择对应的表 3、点击Import,可以完成导入 需要注意的是,excel中列的顺序和数据库表的字段顺序最好保持一致,excel列的标题和字段名称保持一致,这样导入的时候,会自动匹配。
如何把文本数据导入Oracle中
1、首先,服务器端的侦听服务必须已经开启。
测试方法:Dos 下输入 C:\>sqlplus username/password@serviceName 2、然后使用 Oracle 的 sqlldr 命令进行数据的导入 前期条件 1)Oracle 数据库端必须已经建好了需要导入的数据表的结构 2)一个数据源文件 下面例子中为制表符分隔的文本文件 model。 txt ,为Excel 表中导出的 3)手工编辑一个XXX。
CTL 的控制文件 4)命令行加载数据 如下实例: 以下文件缺省放到C:\ 下,如果不是,就需要指明全路径 1。命令控制文件 input。
ctl 内容 控制文件中指定插入数据的方式关键字 insert,为缺省方式,在数据装载开始时要求表为空 append,在表中追加新记录 replace,删除旧记录,替换成新装载的记录 truncate,同上 在 Dos 窗口下使用 SQl*Loader 命令实现数据的导入 C:\>sqlldr userid=system/manager@ serviceName control=input。 ctl 默认日志文件名为:input。
log 默认坏记录文件为:input。bad 使用其它数据库转移工具 以下以SQL Server 导入导出向导为例 1、在数据的导入导出向导中设置数据源服务器,实例中选择数据源选择SQL Server 2、然后指定要导入的Oracle 数据源 3、需要配置Oracle 的属性信息 需要注意的是,登录数据库的用户信息即为数据导入之后的方案名,即导入之后的SQL Server 中的表在Oracle 中标志名为 username。
表名以下按照提示即可,可以完全导入SQl Server 中的数据表和视图,也可以使用查询语句返回你要选择的列或者行。 Oracle 企业管理器中的数据加载功能 登录Oracle 的控制台界面,针对单独的数据表可以使用数据加载工具中间需要指定控制文件等,同Dos 加载一致,不再重复。
编辑特别推荐: 如何在Oracle中用非默认方式创建外键。
Oracle数据库导出导入的流程是怎样的
1.导出dmp文件步骤 输入:运行CMD ? exp(或者Oracle的Bin目录下的exp.exe) 用户名/密码@库名(例:NCS_TEST/K@GAICHU) 导出路径(c:\text.dmp) 一系列默认回车 导出完毕 2.导入dmp文件步骤 输入:运行CMD ? imp(或者Oracle的Bin目录下的imp.exe) 用户名/密码@库名(例:NCS_TEST/K@GAICHU) 导入路径(c:\text.dmp) 一系列默认回车 导入完毕 需要注意 如遇到Oracle-12154错误,注意检查用户名密码库名等是否写对 客户端和服务器端的Oracle的版本最好一致 以上是我对于这个问题的解答,希望能够帮到大家。
Oracle导入导出数据库的语法是怎样的
oracle中除了在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式外,还可以采用命令行的方式导入导出数据库,其语法实示例如下: imp [username[/password[@service]]] 步骤:1、首先在进入 dos, 然后切换到 oracle 数据库物理文件所在的目录即(dmp文件所在的目录)。 接下来输入下述语句! imp username/password@service file=psmis。
dmp fromuser=psmis touser=psmis log=psmis。log 下面就语句的语法做一下解释: imp :是导入数据库的语法前缀; username/password@service:意思是登陆指定的service; file :指的是已经分离的oracle数据库物理文件; fromuser:指的是来源用户; touser:指的是目标用户; log:指的是当前目录下的日志文件; 在 dos 中查看oracle中的imp,exp命令: imp help=y exp help=y 1。
导出表数据: 文件名以backup_yyMMddHHmm。dmp 表示 dateString=`date +%y%m%d%H%M` #echo $dateString su - oracle -c "exp userid/password tables=table1,table2 file= path/backup_$dateString。
dmp BUFFER=8192 grants=y compress=N" compress:N表明导出来的文件不需要压缩放在一个数据块中,当数据库中的表数据特别大的时候,若放在不同的数据库,在恢复的时候会有问题。 导出的数据包括表创建语句,序列,触发器等。
2。 导入表数据 表导入的过程:创建表,导入数据,创建序列 echo backup file:$1 fileName=$1 echo $fileName #if [ "$fileName" = ""] #then # echo "请指定备份恢复的文件名,请指定绝对文件路径" # exit 0; #fi #echo fileName=$fileName su - oracle -c "imp userid/password file=$fileName show=n buffer=2048000 ignore=Y commit=y grants=y full=y" ignore:Y表明忽略表创建的过程,只是将表中的数据导入表中。
以上是我对于这个问题的解答,希望能够帮到大家。
转载请注明出处51数据库 » word导入oracle
逗比-骚年