`

Could not synchronize database state with session

阅读更多

 

所涉及的technology:

java, socket,hibernate,oracle

 

问题:

当我用浏览器向我侦听的端口发送数据时总是报如下错误:

Could not synchronize database state with session

ORA-01461: can bind a LONG value only for insert into a LONG column

 

背景,分析:

写一个SocketServer, 能够侦听所有发到这个端口上面的数据。

//以下是一个包装的方法,把从socket中得到的输入流,转换成字符串。

public static String streamToStringByByte(InputStream is) throws IOException{

//设置缓冲区长度

                byte[] b = new byte[4096];

StringBuffer sb = new StringBuffer();

String tempStr = "";

while(is.read(b) != -1){

                        //设置解码字符集

 //下面这句话打印出来的数据长度看似不长,但是细心观察就会发现,这个刚转换出来的字符串后面有很多很多的空格,应该就是上面的那个byte[]没有用到的地方,全部转换成了空格,所以导致出现了如题的错误。为了防止此类错误,应该加上用trim()去掉两边儿的空格。

tempStr = new String(b,Constant.ENCODING_CHARSET);

sb.append(tempStr==null?"":tempStr);

//查看当前的输入流是否已经结束

if(tempStr.endsWith(Constant.BEGIN_SYMBOL)){

     //Utility.print("End of input stream.....");

     break;

}

}

                  hibernateTemplate.save(new Message(sb.toString));

return sb.toString();

}

 

原因:

是由于要保存的数据长度超过了数据库设定的长度。

 

 

0
6
分享到:
评论

相关推荐

    delphi vcl线程同步synchronize

    Synchronize方法是Delphi中用于在主线程和工作线程之间进行通信的关键工具,确保对用户界面(UI)的操作是安全的。本文将深入探讨Delphi VCL线程同步以及Synchronize方法的工作原理、使用场景和最佳实践。 ### 1. ...

    Database Comparer VCL v 5.0

    These components allow you to compare and synchronize SQL database objects and table records for many popular databases. You can view all the differences between databases and execute an automatically...

    Oracle rac 10g for linux vmware安装笔记

    一、安装主机网卡 二、安装虚拟机 三、同步主机和linux系统时间(Synchronize Guest OS time with Host OS) 四、配置oracle用户

    Clever Database Comparer v6.2.0.733 - Full Sources for CBuilder/Delphi〖D5~XE8〗

    Database Comparer helps to compare, synchronize and update databases structure. You can compare one database with another database or database with SQL/DDL script or even two SQL/DDL scripts!

    Synchronize Your System Time with a Network Time Protocol (N

    标题中的“Synchronize Your System Time with a Network Time Protocol (NTP) Server”指的是通过网络时间协议(Network Time Protocol)同步计算机系统时间的过程。NTP是一种用于在互联网上同步计算机时间的协议,...

    DevExpress VCL v2012 vol 1.6源码、例子、帮助-part2

    Q435475 - Tabular and Layout Views - The View does not synchronize edit value changes with the data controller in the OnEditChanged event handler if DataController.Options includes dcoImmediatePost, ...

    java synchronize 线程同步

    Java中的`synchronized`关键字是用于实现线程同步的关键机制,主要目的是解决多线程环境下的数据安全问题。当多个线程访问共享资源时,如果没有适当的同步控制,可能会导致数据不一致或者竞态条件等问题。...

    Synchronize It 3.5文件夹同步器 简体中文界面

    Synchronize It!还有其他特点如下: 1.可以自订许多的项目,包括过滤器、专案、颜色等等。 2.可以进行多种同步任务独立保存和点用,也可组合多个任务一次同步搞定。 3.支持压缩文件的同步。 4.内建二进位文件的比较...

    CALL RFC synchronize and asychronize Examples

    以下是关于"CALL RFC synchronize and asychronize Examples"的详细解释。 **同步调用 (Synchronize Call)** 同步调用是立即执行并等待结果返回的方式。在提供的示例`SAPBC415_RFCSYNC_S1`中,我们看到如何通过`...

    FTP_synchronize_0_9_6_1_dll

    FTP_synchronize_0_9_6_1_dll 是一个针对Notepad++文本编辑器的FTP同步插件,主要用于帮助用户实现本地代码与远程服务器之间的文件同步。Notepad++是一款非常流行的开源文本编辑器,尤其受到程序员和Web开发者的喜爱...

    Multithreading with C# Cookbook(PACKT,2ed,2016)

    Work with raw threads, synchronize threads, and coordinate their work Develop your own asynchronous API with Task Parallel Library Work effectively with a thread pool Scale up your server ...

    DevArt dbForge Studio for SQL Server Enterprise Edition 5.0.337

    Generate scheduled database scripts with data through command line Boost SQL coding in a convenient scripting environment Analyze and improve T-SQL code quality Design tables and rebuild them without ...

    Java synchronize线程安全测试

    Java中synchronize关键字的使用与线程安全测试 Java语言中,synchronize关键字是一个非常重要的概念,它主要用于解决线程安全问题。在多线程编程中,经常会出现线程安全问题,因为多个线程可能会访问同一个共享资源...

    Java synchronize底层实现原理及优化

    Java synchronize 底层实现原理及优化 在 Java 中,synchronize 是一种锁机制,用于控制并发冲突,避免多个线程同时访问同一个资源。synchronize 底层实现原理及优化是 Java 并发编程中一个重要的概念,本文将详细...

    vnc.rar_Computers_file synchronize

    simple configure file to synchronize the connection between two computers (using vnc)

    Devart dbForge Studio for MySQL Professional Edition v7.1.13

    dbForge Studio also provides utilities to compare, synchronize, and backup MySQL databases with scheduling, and gives possibility to analyze and report table data. Over 15,000 users rely on dbForge ...

    synchronize底层实现原理

    synchronize底层实现原理 Java文件想要看字节码通常使用 javap 命令将java的class文件反汇编,具体操作步骤如下: 1. 先写好一个SynchronizedTest.java文件(下面贴出) 2. 在java文件的目录下,使用命令 javac ...

    Java之Synchronize学习

    Synchronize的几种实现 Synchronize有三种实现。 同步方法,修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁 修饰代码块...

    4-Synchronize Robots_高清 720P.mp4

    4-Synchronize Robots_高清 720P.mp4

    Synchronize和ReentrantLock区别.png

    Synchronize(同步锁)和ReentrantLock(可重入锁)都是Java中的常用锁,都是用来保证线程安全的。两者都是同步锁,且都是阻塞同步。阻塞同步:当一个线程获取锁后,其他线程只能等待(进入阻塞态),等待获取锁的...

Global site tag (gtag.js) - Google Analytics