-
sqlserver jdbc jtds 驱动不支持java.sql.time,该如何处理这种类型的字段15
在sqlserver2008中,含time类型的字段。在hibernate中采用java.sql.time对应。但报错。
经调试发现,jtds驱动用String来返回time类型字段。
请问各位碰到这种字段是如何处理的?2012年1月16日 10:37
3个答案 按时间排序 按投票排序
-
java.sql.Timestamp(时间截)可能是最简单的实现方法了。
其原理是将你实际数据库返回java.sql.time对应的String通过下面的构造函数进行了转换,具体其他的方法,详见jdk API中Timestamp类
/***
* This method returns a new instance of this class by parsing a
* date in JDBC format into a Java date.
*
* @param str The string to parse.
* @return The resulting <code>java.sql.Timestamp</code> value.
*/
public static Timestamp valueOf(String str)
{
int nanos = 0;
int dot = str.indexOf('.');
if (dot != -1)
{
if (str.lastIndexOf('.') != dot)
throw new IllegalArgumentException(str);
int len = str.length() - dot - 1;
if (len < 1 || len > 9)
throw new IllegalArgumentException(str);
nanos = Integer.parseInt(str.substring(dot + 1));
for (int i = len; i < 9; i++)
nanos *= 10;
str = str.substring(0, dot);
}
try
{
java.util.Date d;
synchronized (dateFormat)
{
d = (java.util.Date) dateFormat.parseObject(str);
}
if (d == null)
throw new IllegalArgumentException(str);
Timestamp ts = new Timestamp(d.getTime() + nanos / 1000000);
ts.nanos = nanos;
return ts;
}
catch (ParseException e)
{
throw new IllegalArgumentException(str);
}
}2012年1月31日 12:07
相关推荐
`jdbc:sqlserver://<hostname>:;databaseName=;user=;password=<password>` 6. 在“JDBC驱动”部分,选择解压后的sqljdbc4.jar或sqljdbc.jar的路径,并将其添加到Kettle的类路径中。 确保正确配置这些参数后,...
jTDS 是一个开源的 JDBC 驱动,它支持与 Microsoft SQL Server 和 Sybase 的连接。使用 jTDS 驱动的优点在于它通常比官方的 Microsoft JDBC 驱动更稳定,且对老版本的 SQL Server 兼容性更好。以下是使用 jTDS 驱动...
这种方法不依赖ODBC,而是直接通过Java的JDBC驱动连接SQL Server: 1. **加载JDBC驱动**:这里使用的是`sun.jdbc.odbc.JdbcOdbcDriver`,但请注意,这个驱动是Oracle JDK的一部分,可能在未来的Java版本中不再支持...
- JTDS JDBC驱动支持Microsoft SQL Server多个版本以及Sybase数据库。 - 实现了JDBC 3.0标准,功能更加强大。 - 是一个开源的解决方案。 #### 五、总结 通过上述内容,我们了解了Java连接SQL数据库的基本原理和...
2. **JTDS JDBC Driver**:这是一个开源的JDBC驱动,支持SQL Server (6.5, 7.0, 2000, 2005) 和Sybase,实现了JDBC 3.0,提供更好的性能和兼容性。 在实际开发中,通常推荐使用JTDS或其他官方或第三方的JDBC驱动,...
jTDS是一个开放源代码的JDBC驱动程序,它支持SQL Server以及Sybase数据库,并且在处理`TEXT`和`IMAGE`类型时更加灵活。 **步骤如下:** 1. **下载并添加jTDS驱动:** - 下载地址:[jTDS](https://jtds.github.io/...
- **数据库连接URL**:`jdbc:jtds:sqlserver://服务器地址:端口号/数据库名`。 - JTDS驱动支持更多的SQL Server版本,并且实现了JDBC 3.0标准,相比Microsoft JDBC驱动具有更好的兼容性和性能。 #### 总结 通过...
jtds是一个开源的JDBC驱动,支持SQL Server和Sybase。使用jtds驱动的URL示例: ``` jdbc:ksql:net.sourceforge.jtds.jdbc.Driver:dbtype=mssqlserver:jdbc:jtds:sqlserver://192.168.61.28:1433/master ``` 使用jtds...
- **jTDS驱动**:由于微软的JDBC驱动可能存在不支持“反复查询”的问题,可以考虑使用jTDS驱动。下载jTDS,将`jtds-1.2.2.jar`文件复制到Tomcat的`common\lib`目录,同样将该文件的路径添加到`classpath`。 5. **...
- 使用正确的URL格式,例如:`jdbc:jtds:sqlserver://hostname:port/dbname`。 #### 四、常见问题及解决方法 1. **连接失败问题**: - 确保网络连接正常,能够访问到SQL Server所在的服务器。 - 检查防火墙设置...
- `jdbc:jtds:sqlserver://`是JDBC(Java Database Connectivity)的URL前缀,用于指定使用JTDSTM驱动来连接SQL Server。 - `192.168.8.99:1433`是数据库服务器的IP地址与端口号,标准的SQL Server端口是1433。 - `...
String url="jdbc:jtds:sqlserver://192.168.0.88:1433/edorm_kf"; ``` - **Microsoft JDBC Driver**: Microsoft 提供的官方 JDBC 驱动。 ```java Class.forName(...
- 字段类型转换:SQLServer和Oracle的字段类型有所不同,可能导致转换困难,需要手动调整大量字段类型。 - 表名处理:导出的表名可能被引号包围,并且区分大小写,这在Oracle中可能导致PL/SQL操作的不便。 - 错误...
- **JDBC驱动**: 使用适当的JDBC驱动(如Microsoft SQL Server的jtds驱动)连接到SQL Server数据库。 - **数据库操作**: 编写SQL语句进行CRUD操作,例如`INSERT`, `UPDATE`, `DELETE`, `SELECT`。 - **预编译的...
这表明开发者可能遇到了具体的异常错误,比如"String or identifier too long"或"MBCS data truncated",并且查看了DBUnit或相关驱动(如jtds.jar,这是一个流行的Sybase和SQL Server的JDBC驱动)的源代码来定位问题...
<property name="connection.url">jdbc:jtds:sqlserver://192.168.1.88:1433;DatabaseName=goto <property name="dialect">org.hibernate.dialect.SQLServerDialect <property name="connection.password">hcsys ...
文件`apache-solr-dataimportscheduler-1.4.jar`表明了Solr 7.5 包含数据导入调度器,它能够定时从数据库或其他数据源导入数据,支持多种数据库驱动,如`sqljdbc4.jar`(用于与SQL Server交互)和`jtds-1.3.1.jar`...
url="jdbc:jtds:sqlserver://localhost/MyHousekeeper" user="sa" password="123456"/> query="SELECT payId,payName,payMoney,payDescription,payDatetime FROM t_pay"> ``` 这里,我们...
url="jdbc:jtds:sqlserver://localhost/pubs"/> ``` 其中,`driverClassName`是JDBC驱动类全名,`maxActive`、`maxIdle`和`maxWait`分别控制连接池的活动实例数、非活动连接最大数以及等待新连接的最大时间。`...