使用geotools导入shp文件到Oracle数据库时表名带下划线问题的解决方法

问题:

最近在做利用geotools导入shp文件到Oracle表中,发现一个问题Oracle表名带下划线时导入失败,问题代码行: dsOracle.getFeatureWriterAppend(oracleTable, Transaction.AUTO_COMMIT); dsOracle为org.geotools.data.DataStore类型对象

解决方案:

网上查阅资料发现是Oracle11的java包ojdbc的版本问题,maven中搜索ojdbc发现最新版如下图

pom配置:

<!-- https://mvnrepository.com/artifact/ojdbc/ojdbc -->
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
</dependency>

但是,Oracle11g的ojdbc最新版本应该是ojdbc6

pom配置:

<!-- https://mvnrepository.com/artifact/cn.guoyukun.jdbc/oracle-ojdbc6 -->
<dependency>
<groupId>cn.guoyukun.jdbc</groupId>
<artifactId>oracle-ojdbc6</artifactId>
<version>11.2.0.3.0</version>
</dependency>

所以我将ojdbc的jar包更新为oracle-ojdbc6-11.2.0.3.0.jar版本的就OK

(0)

相关推荐

  • 使用geotools导入shp文件到Oracle数据库时表名带下划线问题的解决方法

    问题: 最近在做利用geotools导入shp文件到Oracle表中,发现一个问题Oracle表名带下划线时导入失败,问题代码行: dsOracle.getFeatureWriterAppend(oracleTable, Transaction.AUTO_COMMIT); dsOracle为org.geotools.data.DataStore类型对象 解决方案: 网上查阅资料发现是Oracle11的java包ojdbc的版本问题,maven中搜索ojdbc发现最新版如下图 pom配置: <!-

  • DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法

    只是中文出现乱码时,在链接数据库后面,加上这一句 utf8的话 mysql_query("SET NAMES 'utf8'"); gbk的话 mysql_query("SET NAMES 'gbk'");

  • java使用GeoTools读取shp文件并画图的操作代码

    GeoTools是ArcGis地图与java对象的桥梁,恰如jdbc之于oracle与java. shp文件本身是存有地理对象边界坐标.对象中心城市及城市编号的多多边形字符串. 需要使用的依赖如下 <!-- 添加GeoTools依赖 --> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-shapefile</artifactId> <version>

  • php导入excel文件到mysql数据库的方法

    本文实例讲述了php导入excel文件到mysql数据库的方法.分享给大家供大家参考.具体分析如下: php导入excel文件入mysql数据库我们是需一借助一个phpexcel类文件了,有了这个类文件我们就可以快速简单的导入excel到mysql数据库中,这里就来举个例子给大家说明一下具体用法. 导入前我们需要先准备一个数据库,sql语句代码如下: 复制代码 代码如下: /* Navicat MySQL Data Transfer   Source Server         : local

  • DBF 文件恢复 ORACLE 数据库的方法

    清·魏源<庸易通义>:"至道问学之有知无行,分温故为存心,知新为致知,而敦厚为存心,崇礼为致知,此皆百密一疏." 起因 在我们的生产活动中,意外总是在不经意间发生.那天一个安装有 oracle 数据库的盘符不小心被格式化了,好几个项目都炸了.不过还好有备份,不过只有 .DBF 文件和几个日志文件: //数据库系统相关 REDO01.LOG REDO02.LOG REDO03.LOG SYSTEM01.DBF UNDOTBS01.DBF SYSAUX01.DBF USERS0

  • 解决mybatis使用char类型字段查询oracle数据库时结果返回null问题

    同事在学mybatis时,遇到了一个问题就是,使用char类型字段作为查询条件时一直都查不出数据,其他类型的则可以. 使用的数据库是oracle,查询条件字段类型是char(50),java代码对应的是String类型. 后来经过排查,是由于在oracle中,char类型字段,如果内容长度不够,会自动以空格方式补足长度.如字段 name char(5),若值为sgl,那么oracle会自动用空格补足长度,最终值为sgl. 一.解决方法: 方法1:先用trim()函数把值去掉两边空格再作为条件查询

  • java 查询oracle数据库所有表DatabaseMetaData的用法(详解)

    一 . 得到这个对象的实例 Connection con ; con = DriverManager.getConnection(url,userName,password); DatabaseMetaData dbmd = con.getMetaData(); 二. 方法getTables的用法 原型: ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type

  • ORACLE数据库对long类型字段进行模糊匹配的解决思路

    1.背景介绍 最近在查询数据时,突然遇到了这样一个场景,如何对一个字段类型为long的字段进行模糊匹配.一顿操作以后发现不能使用like进行模糊查询,仔细查看了一下官方文档才发现,long数据类型并不支持该操作.然后就想着将long类型转换为varchar类型然后在进行模糊匹配,通过百度尝试了多种方法,发现效果不太理想.(如果你们发现好的方法欢迎在评论区留言) 2.解决思路 笔者这里采用的思路是: 先创建一个新表,然后将关键信息通过数据类型转换为合适的类型(此处是运用to_lob函数将long类

  • Oracle数据库丢失表排查思路实战记录

    目录 说明: 写在最后: 总结 说明: 由于系统采用ID取模分表法进行Oracle数据存储,某日发现Oracle数据库中缺少对应的几张业务数据表,遂进行相关问题查询,简单记录一下排查思路: 由于我们代码中实现思路是判断如果没有对应的表会自动创建,所以首先需要查询一下缺失数据库表的创建时间 SELECT * FROM dba_objects where OBJECT_NAME LIKE 'LOG_5%' AND owner = 'Geoff'; 通过查询Oracle执行SQL历史记录,数据库表的删

  • 用SQL语句查询数据库中某一字段下相同值的记录方法

    今天接到一任务,有一张学生信息表(Excel表),里面有一万多条记录,现在要把这张表导入到数据库中,并设置学生学号为主键,但是现在这张表中的学生学号有重复的记录,我必须先找出这些重复的记录,然后再进行筛选,经过研究问题终于得到解决.      以上问题实际上就是查询数据库表中某一字段值重复的记录,这里省略如何将Excel表导入到数据库步骤,只讨论用SQL查询数据库中某一字段下相同值的记录方法. 现在假设数据库表名为student,里面有字段Sno(学号),ID(身份证),这里提供两种查询的方法:

随机推荐