最近要做数据预处理,需要用到数据库。而且是以前从来没听说过的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. Codeforces Round #552 (Div. 3) F. Shovels Shop(dp)

    题目链接 大意:给你n个物品和m种优惠方式,让你买k种,问最少多少钱. 思路:考虑dpdpdp,dp[x]dp[x]dp[x]表示买xxx种物品的最少花费,然后遍历mmm种优惠方式就行转移就好了. # ...

  2. request.getParameterValues 出现 [Ljava.lang.String;@ 错误

    在实现简单的本地登录系统时,需要把page1.jsp的表单显示在page2.jsp中. 其中获取page1.jsp表单的办法就是在页面1的<form>中加入action="pag ...

  3. C# Datetime时间指定时区

    string start_time_str = "2018-03-21 06:00:00"; DateTime.Parse(start_time_str) // :: 格林威治时间 ...

  4. LeetCode刷题-004两个排序数组的中位数

    给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 示例 1:nums1 = [1, 3]num ...

  5. 前端DES加密

    /** * DES加密/解密 * @Copyright Copyright (c) 2018 * @author mrDu * @see DESCore */ /* * encrypt the str ...

  6. cv::Mat类之type成员

    CV_8UC3 -->16 CV_8UC3 表示存储元素的数据类型为 8bit unsigned char 类型,通道数C = 3 为什么OpenCV中type为CV_8UC3的图像 输出其ty ...

  7. 搭建企业git代码版本管理所需工具

    此片文章纯属记录一下使用gitlab搭建私有git版本管理的一些工具及概念. 先记录一下概念 git         是一种版本控制系统,是一个命令,是一种工具 github   是一个基于git实现 ...

  8. 3D Slicer中文教程(七)—图像中值滤波

    1.中值滤波概念 中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘 ...

  9. nginx允许IP访问不生效问题【原创】

    使用nginx的nginx_upstream_check模块来检测后端服务器的转态时,设置只允许某段IP访问,发现不生效,不在此网段的IP也可以访问. 原因为在允许IP访问最后一定要加deny all ...

  10. 【原创】大数据基础之Kudu(3)primary key

    关于kudu的primary key The primary key may not be changed after the table is created. You must drop and ...