异常Underlying input stream returned zero bytes 解决办法

  今天把mysql的配置文件换成了SQL Server,没想到除了问题。以下是在网上找到的在SQL   Server表中使用了Text类型,如果表中Text类型包含Null时,检索Text类型中包含Null的记录就出现
[Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes 的异常了。

从网上搜集资料来看,由于jdbc的bug,所以不能将一个"NULL"值和一个""(empty)存储在text类型的字段中。
解决办法
1:可以在表结构中设置字段的默认值为" "(one char)。
2在JavaBean中增加处理,确保在Text类型的字段中不会保存Null值
微软表示下一个版本将修正这个bug。

总结Hibernate虽说有可以转换多个数据库,但mysql转换SQL Server 还真的有几个地方要注意的。

1、Pojo配置文件

 mysql:<class name="com.ierd.pojo.Employee" table="tbEmployee" catalog="storeDB">

 mssql:<class name="com.ierd.pojo.Employee" table="tbEmployee" catalog="storeDB" schema="dbo">

2、mssql字典为text类型的,最好加上默认值‘  ’

### 回答1: HTTP/2是一种网络传输协议,它将数据分成多个流(stream)传输,以提高网络性能。当HTTP/2的一个流在底层结束之前没有干净地关闭时,会出现“http/2 stream 1 was not closed cleanly before end of the underlying stream”的错误提示。 这通常意味着在网络连接中出现了一些问题,例如连接中断或数据包丢失。为了解决这个问题,可以尝试重新连接网络或者重新发送请求。另外,也可以使用网络分析工具来检查网络连接和数据流,以便找到问题的根源。 ### 回答2: HTTP/2是一种新的网络协议,其最重要的特点是使用了多路复用技术,即在同一个TCP连接上可以同时传输多个HTTP请求与响应。这种新的协议带来了很多优势,可以显著提高网络传输的效率,并提升用户体验。 然而,当我们在使用HTTP/2的时候,有时会遇到一些问题,比如“HTTP/2 stream 1 was not closed cleanly before end of the underlying stream”的错误提示。这个错误提示的意思是在底层流结束之前,HTTP/2的流1没有被正确地关闭。 那么,究竟是什么原因导致这个问题的出现呢?通常来说,这个问题是由于网络连接不稳定或者服务器出现故障导致的。比如说,在一个页面上有多个资源需要加载,如果其中某个资源的加载出现了问题,那么就有可能导致HTTP/2协议中的某个流没有被正确关闭。 此外,还有一些其他的原因也会导致这个问题的出现,比如缓存问题、浏览器错误等。如果遇到这个问题,我们可以尝试清理缓存、重新打开浏览器,或者检查网络连接是否正常。如果无法解决,可以考虑联系网站管理员或网络服务提供商寻求帮助。 总之,HTTP/2 stream 1 was not closed cleanly before end of the underlying stream是一个比较常见的HTTP/2协议错误,出现的原因多种多样,需要我们仔细分析情况,并采取相应的措施来解决问题。 ### 回答3: 这个错误是指在使用HTTP/2时,流1没有在底层流结束前干净关闭的情况。HTTP/2是一种新式的网络协议,相较于HTTP/1.x而言,具有更快的速度和更优秀的性能。 HTTP/2使用多个流来处理特定的请求和响应,以提高效率。每个流都有其独立的流ID和优先级,以确保按照正确的顺序传输数据。由于HTTP/2的数据流并不是按照传统意义上的“请求-响应”模式运作的,因此每个流必须都被明确地结束。 如果流没有被干净地关闭,则会发生“http/2 stream 1 was not closed cleanly before end of the underlying stream”的错误。这个错误通常发生在网络环境不稳定或者服务器和客户端之间的连接出现问题的时候。 为了解决这个问题,我们可以尝试以下措施: 1.检查网络连接并确保它的稳定性。如果网络连接不稳定,则会影响HTTP/2流的传输,导致流无法干净地关闭。 2.尝试使用其他浏览器或 HTTP/2 客户端,以排除浏览器本身的问题。 3.使用HTTP/2的特性来确保每个流被正确地关闭。例如,使用RST_STREAM帧来关闭流,或在请求头中添加“End Stream”标志来明确结束流。 总之,HTTP/2的流传输机制和传统的“请求-响应”模式有很大不同,需要注意流的正确关闭以确保数据的正确传输。如果出现了“http/2 stream 1 was not closed cleanly before end of the underlying stream”的错误,我们可以尝试以上措施来解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值