文档章节

postgresql jdbc 禁止二进制格式进行通信

harris2016
 harris2016
发布于 2016/06/14 18:36
字数 344
阅读 24
收藏 1

    postgresql数据库中与jdbc进行通信的格式有二进制方式和文本方式。二进制方式这是针对某些数据类型而言的。那么如果想只通过文本方式来进行通信,怎么解决了。下面提供了一段建立连接的方式,可以禁止jdbc通过二进制与postgresql进行通信。

    

private void disableBinary(Properties info) {
		int[] disableType = {Oid.BYTEA, Oid.INT2, Oid.INT4, Oid.INT8, Oid.FLOAT4, Oid.FLOAT8, Oid.TIME, Oid.DATE, Oid.TIMETZ,
				Oid.TIMESTAMP, Oid.TIMESTAMPTZ, Oid.INT2_ARRAY, Oid.INT4_ARRAY, Oid.INT8_ARRAY, Oid.FLOAT4_ARRAY, Oid.FLOAT8_ARRAY,
				Oid.VARCHAR_ARRAY, Oid.TEXT_ARRAY, Oid.POINT, Oid.BOX, Oid.UUID};
		String dstring = null;
		int i = 0;
		for (i = 0; i < disableType.length; ++i) {
			if (i > 0)
				dstring = dstring + ",";
			if (dstring == null) {
				dstring = String.valueOf(disableType[i]);
			} else {
				dstring = dstring + String.valueOf(disableType[i]);
			}
		}
	
		PGProperty.BINARY_TRANSFER_DISABLE.set(info, dstring);
	}
public void SelectUser() {
		
	Connection conn = null;
		
	String url = "jdbc:postgresql://172.30.12.10:1999/pgbench";
	String username = "db_user";
	String password = "0000";
	try {
		Class.forName("org.postgresql.Driver").newInstance();    		
		java.util.Properties info = new java.util.Properties();
		info.setProperty("user", username);
		info.setProperty("password", password);
		disableBinary(info);
		conn = DriverManager.getConnection(url, info);  

    在上面代码中disableBinary函数禁止了所有jdbc中指定二进制进行通信的数据类型。这样建立的连接就只会通过文本进行通信了。

    上面的disableBinary函数中的代码也可以使用一句代码来完成:PGProperty.BINARY_TRANSFER.set(info, false)。这句代码就可以把jdbc中所有的数据类型都指定为使用文本进行通信。

© 著作权归作者所有

共有 人打赏支持
harris2016
粉丝 10
博文 52
码字总数 30058
作品 0
杭州
程序员
JAVA存取PostgreSQL二进制类型bytea

经过测试:JAVA存取PostgreSQL的bytea类型均存在内存的限制问题(存取的数据过大会出现out of memory内存溢出的问题),EnterpriseDB对此做了优化。 取PostgreSQL中的bytea,并存储到硬盘上....

YuanyuanL
2013/08/09
0
0
ETL for Oracle to PostgreSQL 1 - Oracle Data Integrator (ODI)

标签 PostgreSQL , Oracle , ETL , Oracle Data Integrator , ODI 背景 原文 https://www.cdata.com/kb/tech/postgresql-jdbc-odi.rst 正文 ETL PostgreSQL in Oracle Data Integrator This ......

德哥
05/06
0
0
多平台向Postgresql 迁移

最近有个工作要把 一个SqlServer 迁移到 Postgresql 平台上,上网搜了搜,EnterpriseDB在这块做了很多工作, EnterpriseDB 的 Postgres Plus Advanced Server管理工具中有一个 mogiration t...

从前
2013/01/30
0
0
postgresql数据库连接池pgbouncer

前端时间看了看服务器还有多余的内存,由于数据库和程序都在一个服务器上,就想看看有什么提升并发的方法。试用了下pgbouncer ,记录下。 1.源码安装: wget https://github.com/downloads/...

从前
2013/06/13
0
0
WildFly8 下配置PostgreSQL XADataSource

未命名 WildFly XADataSource配置 WildFly安装根目录 =WILDFLYHOME 一、PostgreSql: 1、%WILDFLYHOME%modules 如下建立目录 %WILDFLYHOME%modulesorgpostgresqlmain 2、在%WILDFLYHOME%modu......

Zee
2014/03/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring详解

Spring详解(一)------概述 目录 1、什么是 Spring ? 2、Spring 起源 3、Spring 特点 4、Spring 框架结构 5、Spring 框架特征 6、Spring 优点   本系列教程我们将对 Spring 进行详解的介绍...

DemonsI
11分钟前
0
0
CentOS7系统Nginx安装

1、下载nginx,官方网站https://nginx.org wget https://nginx.org/download/nginx-1.14.0.tar.gz 2、下载Nginx Sticky Module,官方网站https://bitbucket.org/nginx-goodies/nginx-sticky-......

m_lm
14分钟前
0
0
使用zTree树控件(二)

1:treeNode.checked用于判断是勾选还是取消勾选。(treeNode指的是节点)

uug
15分钟前
0
0
export, import 和 export default的区别

ES6的两个功能: export 和 import export 对外输出模块 import 引入(加载)进来一个模块 一、export => import 单个变量 export var name = "lishi" 在其他文件里引用 import {name} f...

Js_Mei
19分钟前
1
0
打造RecyclerView的n级列表

先上效果图: 1.该多级列表的优势: 支持无限级列表展开 基于一个recyclerView实现 可以自定义每一级item的样式,定制化更强 2.设计的思路 数据结构List<ItemBean>,ItemBean类中有变量List<...

WelliJohn
28分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部