问题1:JDBC Sql Server varchar的取出最大长度限制
环境: JDBC驱动inet tds驱动(版本不明),SQLServer2K
问题症状:对于数据库声明为varchar的长度大于256的字段,可以正常保存,但是无法取出多于256字符以后的内容
问题2:使用Hibernate映射时0长度字符串保存后,取出多加了一个空格
环境:inet tds驱动Hibernate2.1.8,SQL Server2K
问题症状:保存0长度字符串后,取出增加了多余的空格。
以上两个问题都是因为没有使用最新的通讯协议引起的,修改URL声明方式如下:
jdbc:inetdae7:127.0.0.1:1433?database=xxx
问题解决,收工。
ps:发现协议inetdae时,数据库字段为Null时,Hibernate取出声明为基本类型(例如boolean)的对象属性并不会报错,实际上在其他数据库如Oracle和新协议上是会报错的。为了避免此类问题出现,最好还是严格遵守:Hibernate声明对象的基本类型属性,一定不能在数据库端置为空值。
ps2:在解决以上问题中发现,Oracle居然对传人0长度字符串,会转为空值,不知道是为了节省空间还是别的什么理由。-_-!!!
(全文完)
分享到:
相关推荐
这个库中的类和接口主要实现了Java.sql和javax.sql这两个包中的规范,比如Driver、Connection、Statement、PreparedStatement、ResultSet等核心接口。这些接口允许开发者创建数据库连接、执行SQL语句并处理返回的...
SQL Server 2005 JDBC驱动是用于Java应用程序与Microsoft SQL Server 2005数据库进行交互的关键组件。JDBC(Java Database Connectivity)是Java平台中的标准接口,它允许Java程序通过Java API来访问和操作各种类型...
这篇博客“JTDS连接SQLSERVER、Sybase数据库”详细讲解了如何利用JTDS驱动在Java应用程序中建立与这两种数据库的连接。 首先,JTDS驱动是一个轻量级的解决方案,它不依赖于数据库供应商的特定JDBC驱动,因此可以...
标签中列举了几个知名的数据库系统:MySQL、SQLServer、DB2、Oracle、PostgreSQL。这些数据库系统各自需要不同的驱动程序和连接方式。 以下是根据文档部分内容整理的详细知识点: 1. Microsoft SQL Server JDBC ...
这里定义了两个SQL查询,`getAllUsers`用于获取所有用户,`getAllUserList`则接收参数并返回所有用户。 **5. 配置SqlMapConfig.xml** 同样在`resources/config`目录下创建`SqlMapConfig.xml`,它是Ibatis的全局配置...
1. **jTDS**:这是一个开源的JDBC驱动程序,专为Microsoft SQL Server和Sybase数据库设计。jTDS提供了一个纯Java实现,支持TCP/IP和Named Pipes协议,使得在Java环境中与SQL Server数据库的交互变得简单。其优点包括...
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; String user = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password); ``` 3. *...
其中,`jconn2.jar`和`jTDS2.jar`这两个文件就是这样的驱动包。 1. **jconn2.jar**:这是Sybase官方提供的JDBC驱动包,全称为Java Connectivity for Sybase。它实现了JDBC接口,使得Java应用程序可以通过JDBC API与...
String url = "jdbc:jtds:sqlserver://localhost:1433/DatabaseName"; String user = "username"; String password = "password"; try { Class.forName("net.sourceforge.jtds.jdbc.Driver"); Connection ...
- **Microsoft SQL Server**:有两个示例,一个是使用Microsoft官方的驱动,另一个是使用开源的jTDS驱动。URL中的`databaseName`指定了要连接的数据库。 - **Oracle**:使用`OracleDriver`,URL中的`thin`表示使用...
- **SQL Server**:使用`com.microsoft.sqlserver.jdbc.SQLServerDriver`,对应驱动包为`mssql-jdbc`。支持Windows身份验证、TDS协议等。 - **SQLite**:使用`org.sqlite.JDBC`,对应驱动包为`sqlite-jdbc`。SQLite...
- **URL**: `jdbc:sqlserver://127.0.0.1:1433;DatabaseName=zvfdb` - **用户名**: `root` - **密码**: `zvfims` SQL Server的URL格式中包含了具体的数据库名称。 ### Informix数据库配置 Informix的配置信息...
对于Sybase数据库,JDBC驱动主要有两种类型:JConnect和jTDS。在本例中,我们讨论的是JConnect驱动,具体为`jconn3.jar`。 `jconn3.jar`是Sybase公司提供的JDBC驱动程序,主要用于支持Java应用程序与Sybase ASE...
String url = "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master"; String username = "sUsr"; String password = "sPwd"; Connection cn = DriverManager.getConnection(url, username, password); ``...
Microsoft SQL Server是微软提供的数据库服务器,有两种不同的JDBC驱动可以使用:jTDS和Microsoft官方驱动。jTDS驱动适用于与Sybase和SQL Server兼容的场景,代码如下: ```java Class.forName(...
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TestDB"; ``` - **Class.forName** 和 **newInstance()**:与Oracle相同。 - **URL**:`jdbc:microsoft:sqlserver://主机名:端口号;...
这个驱动遵循了Java Database Connectivity (JDBC) API规范,使得Java应用程序能够通过SQL语句与Oracle数据库进行通信。`classes12.jar`包含了Oracle JDBC Type 2驱动,这是一种混合驱动,它结合了本地协议和纯Java...
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";//mydb 为数据库 String user = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url, user, password);...
在Java编程中,JDBC(Java Database Connectivity)是用于与各种...每个数据库驱动的加载和连接过程基本一致,主要区别在于驱动类名和URL格式。正确配置这些信息,即可成功地使用JDBC与各种类型的数据库进行通信。
对于SQL Server,有两个版本的连接字符串。旧版使用`com.microsoft.jdbc.sqlserver.SQLServerDriver`,而新版则使用`com.microsoft.sqlserver.jdbc.SQLServerDriver`。基本格式如下: ``` jdbc:microsoft:sql...