有没有人懂debian5下,jdbc和PostgreSQL的设置啊……
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有人懂debian5下,jdbc和PostgreSQL的设置啊……相关的知识,希望对你有一定的参考价值。
jdk1.6,psql8.3,tomcat5.5,debian5,如果能有详细的配置过程的话最好~不知道为什么我连不上数据库……
连接不上数据库的原因,无非是psql的安装和设置出现问题。查找相关答案的时候要注意,debian和ubuntu下面的安装和设置几乎是一样的。
请参考下面两个材料:
1、ubuntu下的Postgresql安装设置。
http://edu.codepub.com/2009/0918/15523.php
2、详解Ubuntu下搭建JSP平台过程,虽然这个文章是mysql,做为数据库的设置,还是大同小异的。
http://www.soft6.com/tech/15/159928.html 参考技术A 我来告诉你吧。
其实很简单,没你想像中的那么复杂,当初设计这个组合的人就说过,天下没有不劳而获的东东。
想学好学透就要下努力,决心去思考。
所以其实真的很简单。下面给你个网址,进去看完这个视频。
保证你仰天长叹,原来如此:
http://v.youku.com/v_show/id_XMTQ3OTcxMzI=.html
PostgreSQL-JDBC疑似bug:部分接口参数的表名列名必须全部小写
项目从Oracle移植到PostgreSQL(9.4版)后,这几天又出现故障,经跟踪定位,确定原因是调用PgDatabaseMetaData.getPrimaryKeys()接口返回了空集。
众所周知,大多数情况下SQL语句对表名、列名都是大小写不敏感(据本人经验,linux平台的MySql默认对表名区分大小写,可算是个例外)。对应的,各数据库JDBC也理应对大小写不敏感,但实际情况是:PostgreSQL的JDBC的部分接口只认全部小写的表名、列名,而对全大写、大小写混合的情况都不支持。
PostgreSQL在其数据字典里存放的都是全小写的表名、列名,,但JDBC的接口在处理时却没有进行大小写转换。以下是参考PostgreSQL-JDBC的源码而改造得来的查询某表主键的SQL代码:
select pg_attribute.attname as colname,pg_type.typname as typename,pg_constraint.conname as pk_name from pg_constraint inner join pg_class on pg_constraint.conrelid = pg_class.oid inner join pg_attribute on pg_attribute.attrelid = pg_class.oid and pg_attribute.attnum = pg_constraint.conkey[1] inner join pg_type on pg_type.oid = pg_attribute.atttypid where pg_class.relname = ‘table_name‘ and pg_constraint.contype=‘p‘;
当table_name为全小写时,可以获得正确结果,其它情况结果均为空。
也许PostgreSQL方面因某种原因而刻意为之,但本人倾向于认为这是bug。毕竟,其它主流数据库的JDBC都能正确应对这种情况。
经简单测试,本项目涉及的接口包括:
//获取表主键 public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException; //获取表外键 public ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException; //获取列名 public String getColumnName(int column);
受影响的接口应该还有不少,很可能也不止PgDatabaseMetaData一个类;另外猜测,模式名、用户名、数据库名等可能也在影响之列。
但因项目时间紧迫没有核实,大家在使用时留心这个问题,在应用程序中加入大小写转换的代码。
以上是关于有没有人懂debian5下,jdbc和PostgreSQL的设置啊……的主要内容,如果未能解决你的问题,请参考以下文章
有没有人懂破解一台设备只能注册一个号的方法,换了IP还是不行
PostgreSQL-JDBC疑似bug:部分接口参数的表名列名必须全部小写
无法加载驱动程序类:com.mysql.jdbc.Driver 与 Gradle 和 Spring Boot