最近要做数据预处理,需要用到数据库。而且是以前从来没听说过的TimesTen

首要目标是要把Excel里的数据,导入到TimesTen数据库中。而TimesTen在win10里用不了,于是我就在虚拟机装了win7,之后在网上狂搜关于TimesTen的东西。折腾了一周,才算明白了一点。

然后又疯狂google百度怎么从Excel导数据到TimesTen

网上有人总结了不少Excel数据导入到数据库的,可大都与TimesTen关系不大,通过多次测试,用sql developer导入数据到TimesTen数据库是可以的,但是有点问题。具体步骤是1、把excel另存为csv文件(直接改格式不行,需要另存为或导出为csv格式的文件)。2、用sql developer连接timesten数据库并导入数据。问题是,导入varchar2数据的时候,会提示Invalid string--strings must be enclosed with"..."。后来我手动在csv文件里给varchar2数据加了"",就可以导入了。这未免太低效了,跟一句一句insert有什么区别!

然后昨晚10点多看到Oracle数据库有个sqlldr方法可以设置把字符串用""enclosed,这不正好解决以上的问题嘛。可是今早来了一试,TimesTen里压根没有什么sqlldr方法……于是我就想,那TimesTen应该是有自己的方法的。

果不其然,很快就找到了ttBulkCp。通过ttBulkCp -h看了一下怎么用,不太懂,又google了一下。最后动手一试,两下就成功了。

ttBulkCp导入数据步骤

首先,创建一个空表:

然后,有一个excel表格,存放着待导入的数据:

导入数据之前,需要把excel表格另存为或导出为.csv文件

        

然后csv文件可以用记事本打开:

而直接改.xlsx格式为.csv的话,用记事本打开看到的是乱码。

然后就可以导入数据了:

可以看到,数据已经导入成功了,再连进去看一下:

最后再演示一下错误的:

可以看到只改了一个值,就是-Q后面的0改成了1。我原来用sql developer导入数据的时候也是提示这样的错误。那么来看一下-Q是什么意思:

意思大概就是是否需要用引号引住字符串数据。我一开始选的1,错了,再选0,就对了。那么,0大概表示不需要引号把字符串引起来,因为ttBulkCp会识别出来数据类型。如果选1就是需要导入的数据中的字符串数据必须被引号包含,否则会出错,这种情况适合于把另一个数据库导出的数据导入到timesten中。

用ttBulkCp把excel中的数据导入到timesten数据库中的更多相关文章

  1. 用JDBC把Excel中的数据导入到Mysql数据库中

    步骤:0.在Mysql数据库中先建好table 1.从Excel表格读数据 2.用JDBC连接Mysql数据库 3.把读出的数据导入到Mysql数据库的相应表中 其中,步骤0的table我是先在Mys ...

  2. c#.net Excel中的数据导入到SQL数据库中

    /// <summary>        /// 从Excel 导入学生        /// </summary>        /// <param name=&qu ...

  3. 把excel中的数据导入到Oracle数据库中

    从事工作以来,数据库一直使用oracle,却不知道excel导入oracle,今天看了一篇文章,分享给大家,希望对大家有用. https://jingyan.baidu.com/article/0f5 ...

  4. 怎样把excel的数据导入到sqlserver2000数据库中

    在做程序的时候有时需要把excel数据导入到sqlserver2000中,以前没从外部导入过数据,今天刚做了一下导入数据,感觉还是蛮简单的,没做过之前还想着多么的复杂呢,下面就来分享一下我是如何把ex ...

  5. 使用tdload工具将本地数据导入到Teradata数据库中

    想把本地的数据文件(比如txt.csv)中的数据导入到Teradata虚拟机中的表中.既可以使用Teradata Assistant中的import功能,也可以使用fastload导入,前者的缺点是一 ...

  6. Excel表数据导入Sql Server数据库中

    Excel表数据导入Sql Server数据库的方法很多,这里只是介绍了其中一种: 1.首先,我们要先在test数据库中新建一个my_test表,该表具有三个字段tid int类型, tname nv ...

  7. 使用navicat for sqlserver 把excel中的数据导入到sqlserver数据库

    以前记得使用excel向mysql中导入过数据,今天使用excel向sqlserver2005导入了数据,在此把做法记录一下 第一步:准备excel数据,在这个excel中有3个sheet,每个she ...

  8. Excel 数据导入至Sqlserver 数据库中 ltrim() 、rtrim() 、replace() 函数 依次空格无效问题

    今天导一些数据从Excel中至Sqlserver 数据库中,在做数据合并去重的时候发现,有两条数据一模一样,竟然没有进行合并: 最后发现有一条后面有个“空格”,正是因为这个“空格”让我抓狂许久,因为它 ...

  9. 如何用java POI将word中的内容导入到mysql数据库中

    由于作业需要,要求我们将word文档中的数据直接导入到mysql中,在网上找了很常时间,终于将其解决. 由于比较初级,所以处理的word文档是那种比较规范的那种,条例比较清晰,设计的思路也比较简单,就 ...

随机推荐

  1. git下载/上传文件提示:git did not exit cleanly

    问题:git操作下载/上传文件,提示信息如下 TortoiseGit-git did not exit cleanly (exit code 1) TortoiseGit-git did not ex ...

  2. python复习1

    比如常用的数学常数π就是一个常量.在Python中,通常用全部大写的变量名表示常量: Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对 ...

  3. UEFI+GPT安装WIN7,WIN8/WIN10下安装WIN7双系统

    一.BIOS更改 首先来bios更改:我们知道,uefi+gpt引导虽然出来的时间比较长,但是win7还不能完全的支持,所以在使用uefi+gpt安装win7的时候就会出现各种错误!所以我们在安装Wi ...

  4. python&JSONP(初级篇)

    JSONP产生背景 1.跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的. 2.浏览器的同源策略限制从一个源加载的文档或脚本与来自另一个源的资源进行交互. 3.如果协议,端口和主机对 ...

  5. javascript任务队列

    摘自:https://www.cnblogs.com/liangyin/p/9783342.html,谢谢作者分享! 任务队列 所有任务可以分成两种,一种是 同步任务(synchronous),另一种 ...

  6. python使用正则解析网络地址的各个部分

    参考文章: https://www.cnblogs.com/ingd/p/6182571.htmlimport re def resolveAddress(url): ""&quo ...

  7. 【算法】CRF(条件随机场)

    CRF(条件随机场) 基本概念 场是什么 场就是一个联合概率分布.比如有3个变量,y1,y2,y3, 取值范围是{0,1}.联合概率分布就是{P(y2=0|y1=0,y3=0), P(y3=0|y1= ...

  8. Django—Form、ModelForm

    一.Form form.py from django import forms from django.core.exceptions import ValidationError from djan ...

  9. Bootstrap-datepicker3官方文档中文翻译---Event/事件(原文链接 http://bootstrap-datepicker.readthedocs.io/en/latest/index.html)

    Events/事件 DatePicker在某些情况下触发一些事件.所有事件都拥有   传递给任何事件处理程序的  事件对象的    附加数据.(译者注:这里英语拗口,汉语也拗口,我用空格给大家断断句) ...

  10. Windows下安装Redis客户端

    Redis是有名的NoSql数据库,一般Linux都会默认支持.但在Windows环境中,可能需要手动安装设置才能有效使用.这里就简单介绍一下Windows下Redis服务的安装方法,希望能够帮到你. ...