最近要做数据预处理,需要用到数据库。而且是以前从来没听说过的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. Selenium-Switch--切换浏览器tab/iframe/alart

    Switch 我们在UI自动化测试时,总会出现新建一个tab页面.弹出一个浏览器级别的弹框或者是出现一个iframe标签,这时我们用WebDriver提供的Api接口就无法处理这些情况了.需要用到Se ...

  2. JAVA进阶16

    间歇性混吃等死,持续性踌躇满志系列-------------第16天 1.桌球游戏小项目 ①窗口加载 import javax.swing.*; public class BallGame exten ...

  3. PHP 常用知识点

    @多台服务器共享 session 方案用户量很大,单台 Redis 根本就放不下怎么办?服务器端分布式存储了(Redis 集群. Memcached 集群),既然是分布式,那么就必须保证用户每次请求都 ...

  4. PyCharm 项目删除

    Pycharm 删除项目具体操作如下: 1.选择菜单 File   close project 2.选择要删除的项目右上角选择× 3.找到项目所在目录,删除相应文件夹 之后再次打开pycharm 发现 ...

  5. java学习笔记07-循环

    java有三种主要的循环结构 while循环 do...while循环 for循环 while循环 while(布尔表达式){ //循环内容 } public static void main(Str ...

  6. delphi

    其实现在哪里还有delphi,我之所以建立这个分类,只是为了纪念它,纪念我使用了一年delphi的经历. 那个年代c#刚出道,delphi还是c/s编程届数一数二的人物.但是没想到,这么快被c#打败了 ...

  7. aptitude与apt-get

    aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具.与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些.举例来说,aptitud ...

  8. h1-h3使用

    一个页面也就只允许出现一个h1标签.内容页文章的标题,是seo中使用最多的地方,基本的文章页面标题都是使用h1标签.一.<h1>用来修饰网页的主标题,一般是网页的标题 ,文章标题,< ...

  9. js数据结构与算法——二叉树

    function BinaryTree(){ var Node = function(key){ this.key = key; //值 this.left = null; //左箭头 this.ri ...

  10. MySQL存储过程中的事务执行失败之后获取错误信息

    1.表结构: 2. 存储过程中: 代码如下: BEGINDECLARE CONTINUE HANDLER FOR SQLEXCEPTIONBEGINROLLBACK;GET DIAGNOSTICS C ...