精华内容
下载资源
问答
  • 常常需要将Oracle数据库中的数据生成文档,由于比较喜欢脚本的方式,所以就需要使用spool的时候进行格式设置,以下简单整理了一下Oracle中进行格式设置的一些东西,一共十八条,其实常用的也就那么几个,稍后会附上...

    常常需要将Oracle数据库中的数据生成文档,由于比较喜欢脚本的方式,所以就需要使用spool的时候进行格式设置,以下简单整理了一下Oracle中进行格式设置的一些东西,一共十八条,其实常用的也就那么几个,稍后会附上自己写的简单的shell操作的脚本,希望能供同样有需要的共同交流,也作为自己的备份。

    set命令的各项及其含义:

    arraysize    从数据库中一次提取的行数,默认为15

    autocommit    是否自动提交,默认为off

    colsep        在选定列之间的分隔符,默认为空格

    echo          在用start命令执行一个脚本文件时,echo命令用于控制是否显示脚本文件中正在执行的sql语句,默认为off

    feedback      当一个查询选择出至少n行记录时,就会在结果集的项显示返回的行数,默认是6

    heading      是否显示查询结果的列标题,默认为on

    headsep      指定后边的标点符号用于将页标签或列标题分行显示,默认为“|”

    linesize      每行显示的字符个数,即宽度,默认为80

    newpage      分隔页与页之间的空白行数

    pagesize    每页显示的行数,默认为14

    pause        每页输出时是否暂停,如设置了pause text,则会在左下角显示text

    serveroutput 是否显示pl/sql块或存储过程的输出,即允许函数DBMS_OUTPUT.PUT_LINE()的输出显示在屏幕上

    sqlprompt    sqlplus的命令提示符,默认为“SQL>”

    time        是否在sqlplus命令提示符前显示系统的当前时间,默认为off

    timing      是否显示执行sql语句、pl/sql块的花费时间,默认为off

    trimspool    是否将spool输出中每行后边多余的空格,默认为off

    underline    下划线字符的符号,默认为“_”

    verify        交互使用替换变量是,是否列出一个sql语句在获得替换变量的值前后的文本内容,默认为on

    说明:

    设置某项xxx命令格式为:

    set xxx on/off/value

    举例:    set timing on --设置显示执行sql语句、pl/sql块花费的时间

    set pagesize 100 --设置每页显示100行

    显示某项xxx命令格式为: show xxx

    举例:    show timing --查看当前timing设置为on/off?

    show pagesize --显示当前设置的每页显示的行数

    参考文档:

    <>  水利水电出版社  钱慎一  张素智  2009.9  正文140页  章节:5.3.2

    0b1331709591d260c1c78e86d0c51c18.png

    展开全文
  • 达梦数据库存储二进制大文件(图片、文件等),主要通过BFILE、BLOB类型。

    达梦数据库存储文件的2种方式:

    1.通过存储过程在数据库中存储二进制大文件:

    //使用BFILE、BLOB类型,通过存储过程在数据库中存储二进制大对象
    create directory LOGDIR as '/home';
    
    CREATE TABLE FILE_LOB
    (
    T_ID INT NOT NULL,
    T_FILE BLOB NOT NULL,
    PRIMARY KEY(T_ID)
    );
    
    CREATE OR REPLACE PROCEDURE FILE_INSERT
    (
    TID INT,
    FILENAME VARCHAR(200)
    )
    AS
    F_LOB BFILE;
    B_LOB BLOB;
    BEGIN
    	INSERT INTO FILE_LOB (T_ID,T_FILE) VALUES (TID,EMPTY_BLOB())
    	RETURN T_FILE INTO B_LOB;
    	F_LOB := BFILENAME('LOGDIR',FILENAME);
    	DBMS_LOB.FILEOPEN(F_LOB,DBMS_LOB.FILE_READONLY);
    	DBMS_LOB.LOADFROMFILE(B_LOB,F_LOB,
    	DBMS_LOB.GETLENGTH(F_LOB));
    	DBMS_LOB.FILECLOSE(F_LOB);
    	COMMIT;
    END;

    2. 直接在程序中将文件内容转为二进制,并插入表中的BLOB字段:

    #include <QCoreApplication>
    #include <QtSql>
    #include <QDebug>
    #include <QTextCodec>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
        db.setHostName("192.168.104.21");
        db.setPort(51236);
        db.setDatabaseName("DM8");
        db.setUserName("SYSDBA");
        db.setPassword("SYSDBA");
        if (db.open())
            qDebug() << "connect ok!";
        else
        {
            qDebug() << "connect fail! " << db.lastError().text().toLatin1();
        }
    
        QSqlQuery query;
    
        //清理测试环境
        QString strsql = "drop table if exists qt_demo";
        query.exec(strsql);
        strsql = "create table qt_demo(c1 int, c2 blob)";
        query.exec(strsql);
    
        // 读取文件数据,写入 lob 列
        //选择要写入的文件
        QString f = "../qt_lob/file/DM8_SQL.pdf";
    
        //转换为字节数组
        QByteArray mapData;
        QFile file(f);
        file.open(QIODevice::ReadOnly);
        mapData = file.readAll();
        file.close();
    
        //插入数据
        query.prepare("INSERT INTO qt_demo values(?, ?)");
        query.bindValue(0, 1);
        query.bindValue(1, mapData);
        if (!query.exec()) {
            qDebug() << query.lastError();
        } else {
            qDebug() << "insert OK!";
        }
    
        //读取 lob 列数据,写入到文件中
        QSqlQuery readquery;
    
        QByteArray databa;
        if (readquery.exec("select c2 from provider_demo")) {
            QSqlRecord myrecord = readquery.record();
    
            if (readquery.next()) {
                databa = readquery.value(myrecord.indexOf("C2")).toByteArray();
            }
        }
    
        QFile mybfile("../qt_lob/file/DM81_SQL.pdf");
        mybfile.open(QIODevice::WriteOnly);
        mybfile.write(databa);
        mybfile.close();
        qDebug() << "select OK!";
    
    
        return a.exec();
    }
    
     

     

    展开全文
  • file_name = str(File).split('.')[0]now = time.localtime(time.time())insert_time = time.strftime("%Y%m%d%H%M%S", now)qs = Users.objects.filter(id=uid).first()# 上传文件File.name = file_name + str(uid) ...

    file_name = str(File).split('.')[0]

    now = time.localtime(time.time())

    insert_time = time.strftime("%Y%m%d%H%M%S", now)

    qs = Users.objects.filter(id=uid).first()

    # 上传文件

    File.name = file_name + str(uid) + insert_time

    f = open(os.path.join('static/media/sc_upload', File.name), 'wb+')

    for chunk in File.chunks(): # 保证大文件不会使用大量内存

    f.write(chunk)

    f.close()

    wb = xlrd.open_workbook('static/media/sc_upload/' + File.name)

    # 第一个sheet

    ws = wb.sheets()[0]

    rows = 2

    cols = 4

    hang = []

    for row in range(1, rows):

    for col in range(0, cols):

    zhi = ws.cell(1, col).value

    hang.append(zhi)

    # 存储文件信息

    now = insert_time[0:4] + '-' + insert_time[4:6] + '-' \

    + insert_time[6:8] + ' ' + insert_time[8:10] + ':' \

    + insert_time[10:12] + ':' + insert_time[12:14]

    file = FileMain()

    file.filename = File.name

    file.insert_people = qs

    file.insert_time = datetime.datetime.strptime(str(now), '%Y-%m-%d %H:%M:%S')

    file.locate = 'static/media/sc_upload'

    file.save()

    sc_data = ScMain() # 实例化

    id1 = 0

    sc_data.bac_name = hang[0]

    sc_data.pro_id = hang[1]

    sc_data.pro_date = hang[2]

    # 对于时间格式的特殊处理

    sc_data.pro_date = datetime.date(*xlrd.xldate_as_tuple(sc_data.pro_date, wb.datemode)[:3]).strftime("%Y-%m-%d")

    qs = Users.objects.filter(id=uid).first()

    sc_data.user = qs

    sc_data.insert_time = datetime.datetime.now() # 获取系统当前时间

    qs = FileMain.objects.filter(id=file.id).first()

    sc_data.f = qs

    sc_data.save()

    id1 = sc_data.id

    # 对上传的文件进行重命名

    old_name = 'static/media/sc_upload/' + File.name

    new_name = 'static/media/sc_upload/' + sc_data.bac_name + uid + insert_time

    os.rename(old_name, new_name)

    # 更改数据库中的文件名

    file1 = FileMain.objects.get(id=file.id)

    file1.filename = sc_data.bac_name + uid + insert_time

    file1.save()

    上传文件,并将文件重命名,这里做的是针对固定样式的文件上传,所以固定了rows和cols

    django中对于日期格式有特定的处理,需要规范一下格式

    展开全文
  • MySQL数据库文件介绍及存放位置

    千次阅读 2021-01-18 23:22:28
    1、MySQL创建并管理的数据库文件:.frm文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,都有这个文件。...

    一、MySQL数据库文件介绍

    MySQL的每个数据库都对应存放在一个与数据库同名的文件夹中,MySQL数据库文件包括MySQL所建数据库文件和MySQL所用存储引擎创建的数据库文件。

    1、MySQL创建并管理的数据库文件:

    .frm文件:存储数据表的框架结构,文件名与表名相同,每个表对应一个同名frm文件,与操作系统和存储引擎无关,即不管MySQL运行在何种操作系统上,使用何种存储引擎,都有这个文件。

    除了必有的.frm文件,根据MySQL所使用的存储引擎的不同(MySQL常用的两个存储引擎是MyISAM和InnoDB),存储引擎会创建各自不同的数据库文件。

    2、MyISAM数据库表文件:

    .MYD文件:即MY Data,表数据文件

    .MYI文件:即MY Index,索引文件

    .log文件:日志文件

    3、InnoDB采用表空间(tablespace)来管理数据,存储表数据和索引,

    InnoDB数据库文件(即InnoDB文件集,ib-file set):

    ibdata1、ibdata2等:系统表空间文件,存储InnoDB系统信息和用户数据库表数据和索引,所有表共用

    .ibd文件:单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引

    日志文件: ib_logfile1、ib_logfile2

    二、MySQL数据库存放位置:

    1、MySQL如果使用MyISAM存储引擎,数据库文件类型就包括.frm、.MYD、.MYI,默认存放位置是C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data

    2、MySQL如果使用InnoDB存储引擎,数据库文件类型就包括.frm、ibdata1、.ibd,存放位置有两个,

    .frm文件默认存放位置是C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data, ibdata1、.ibd文件默认存放位置是MySQL安装目录下的data文件夹

    参考资料:

    展开全文
  • mysql-bin问题:磁盘空间报警,经查发现ibdata1和mysql-bin日志占用空间太多(其中ibdata1超过120G,mysql-bin超过80G)原因:ibdata1是存储格式,在INNODB类型数据状态下,ibdata1用来存储文件数据和索引,而库名...
  • MySQL 数据存储文件

    2021-02-21 13:15:50
    首先,MySQL 的数据都是文件的形式存放在磁盘中的,我们可以找到这个数据目录的地址。在MySQL 中有这么一个参数,我们来看一下: show VARIABLES LIKE 'datadir'; 每个数据库有一个目录,我们新建了一个叫做leon ...
  • 采用_StreamPtr处理Loadfromfile,savetofile,open来处理.../*测试插入流文件,*/void insert_flow1(){_StreamPtr pwStream;_bstr_t strPath("D:\\my\\21.wav");_bstr_t strOpen("");_variant_t varBLOB;_variant_...
  • 文件上传保存数据库还是服务器好 内容精选换一换编辑my.cnf文件,其中文件路径(包括软件安装路径basedir、数据路径datadir等)根据实际情况修改。rm -f /etc/my.cnfecho -e "[mysqld_safe]\nlog-error=/data/percona/...
  • 近日一项目遇到需要在DB中存储2进制数据流类型文件的问题,发现常用的MySQL API都用不了,再研究,方知有一套专门的API来干这种数据,功能相当强大的说。以下即为范例代码 --- 按照说明编译即可用,稍加修改即可存储...
  • 库存文件上传是否出现延迟?要确定提交的库存文件是否已完成处理,请前往卖家平台,查看【批量上传商品】页面的【监控上传状态】部分。已提交库存文件的状态将显示为[已提交请求]、[正在进行]或[已完成]。 ...
  • // 用for update方式锁定数据行 ResultSet rs = st .executeQuery("select txsj from ksren_txxx where jmzh='" + jmzh + "' and xm='" + xm + "' for update"); if (rs.next()) { // 得到java.sql.Blob对象,然后...
  • 就很简单的通过文件类型从数据库中将需要在界面展示的数据查询出来然后返回给前端。 文件上传 我实现的接口需要传递的参数为 文件上传者+权限+文件类型+MultipartFile文件对象。 接下来就从controller进入到service...
  • vue+elementui实现文件上传 详细版

    千次阅读 2021-01-14 17:20:58
    vue+elementui上传文件 1.上传文件代码以及解释 <!--上传文件模板 --> <template> <!--action:必传参数,上传的地址,类型为String headers:设置上传头部,类型为Object,一般为 Authorization: ...
  • 注:事实上MYSQL的数据输入输出比上面讲的更复杂一些,MYSQL配置文件my.ini中定义了2个默认编码,分别是[client]里的default -character-set和[mysqld] 里的default-character-set 来分别设定默认时候客户端连接和...
  • SQLserver的基本数据类型 一、二进制数据类型 存储非字符和文本数据 image 可用来存储图像 二、文本数据类型 字符数据包括任意字母 符号 或者是数字字符的组合 主要有: 1.varchar: 可变长度非UNicode数据...
  • vue页面设置class="upload-demo"action="":before-upload="beforeUpload" //上传前操作:before-remove="beforeRemove" //移除钱操作:multiple="false" //禁止多选:http-request="myUpload" //文件上传,重写文件上传...
  • #include "stdafx.h"//是前一篇的姊妹篇//代码来自网络,我学习整理了一下,测试通过,下面的参数//需要设置为你自己的//在DBMS中线要创建数据库www,table www,file字段数据类型用LONGTEXT即可测试//测试文件c:\\...
  • Android使用SQLite数据库存数数据前面我们介绍了用 SharedPreferences 和文件存储信息的方法,但是当频繁大量地使用数据存储时,就要用到数据库来管理信息数据。在 Android 中,我们使用 SQLite 数据库,在应用中也...
  • Mysql 查询缓存利弊

    2021-01-25 21:34:29
    当查询命中该缓存,mysql会立刻返回结果,跳过了解析、优化和执行阶段,查询缓存系统会跟踪查询中涉及的每个表,如果这些表发生变化,那么和这个表相关的所有数据都将失效命中条件Mysql判断缓存命中的方法很简单:...
  • I have developed a GUI application in NetBeans (v. 7.2.1) on Mac (OS version 10.6.8). This application requires an XML file (containing data used by the program), which I would like to place in a subd...
  • 在C语言中,对于文件的操作是利用FILE结构体进行的。几个常用的操作文件函数简介1:打开文件FILE *fopen( const char *filename, const char *mode );第一个参数是指向文件名字符串常量的指针类型;第二个参数指定...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼求如何改动才能将下列程序的存储输入或输出数据(或两者一起)到指定的文件(或运行时直接创立一个文件)如Arrangement中。#include int n=0;int rest[7][7]; //全局声明,以...
  • 为了提高IO性能,可以将不同的...1.环境OS: CentOS 6.5 x64MySQL:5.6 for Linux (x86_64)2.InnoDBInnoDB指定数据文件的位置mysql> SHOW VARIABLES LIKE 'innodb_file_per_table'; #先检查一下配置变量+--------...
  • 在一次大型数据库库的导出操作中,将导出文件名称写重复了,导出数据脚本如下:nohup exp user/**** log=/exp_dir/exp_20100527.log filesize=16G file=/exp_dir/user01.dmp,/exp_dir/user01.dmp,/exp_dir/user02.dmp...
  • //读取json文件 public static String readJsonFile(String fileName) { String jsonStr = ""; try { File jsonFile = new File(fileName); FileReader fileReader = new FileReader(jsonFile); Reader reader...
  • 我需要协助:我正在使用Java进行超市模拟,但我有一个问题,我有一个文本文件(Stock.txt),其中我有所有的超市库存,例如:> 0-面包巧克力蛋糕 – $12.5-250> 1-Meat-Premium Steak- $2.6-120> 2-Seafood-Tuna ...
  • Python对数据写入Execl文件并生成图表需求:为了做测试或者对爬虫程序爬取数据进行分析汇总,我们时常会将数据生成报表,但是如果我们想将报表生成在Excel中,这时候就可以借助xlsxwriter第三方包来生成图表分析:为...
  • 在电商平台的库存管理系统设计中,将涉及商品和本地图库的管理,这里我们将使用另一种数据开发框架 MyBatis进行数据库访问方面的设计,还将实现与分布式文件系统的对接使用。 本章实例的项目工程是一个商品微服务...
  • 其中经理可以进行1-修改商品价格 2-增加商品库存 3-增加新商品种类 4-显示所有商品信息 5-新建文本文件保存今日库存等操作;售货员可以进行1-卖商品 2-查询某种商品信息 3-显示所有商品信息等操作;补货员可以进行1-...
  • 由于项目特殊性为使用者分别本地部署,无固定服务器,且截图数量有限可控,于是没用更合理的数据库存路径形式而是直接将图片以blob格式存入库 Screenshot.java public class Screenshot { private Integer id; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,285
精华内容 22,114
关键字:

数据库存文件