log4j在控制台上輸出了這樣一個WARN:
14:34:32,171 WARN SettingsFactory:126 - Could not obtain connection metadata
java.sql.SQLException: 不支持的特性
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.dbaccess.DBError.throwUnsupportedFeatureSqlException(DBError.java:689)
at oracle.jdbc.OracleDatabaseMetaData.supportsGetGeneratedKeys(OracleDatabaseMetaData.java:4180)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:123)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at TeacherTest.main(TeacherTest.java:21)
14:34:32,562 INFO SchemaUpdate:155 - Running hbm2ddl schema update
14:34:32,562 INFO SchemaUpdate:167 - fetching database metadata
14:34:32,906 INFO SchemaUpdate:179 - updating schema
14:34:33,015 INFO TableMetadata:65 - table found: SCOTT.STUDENT
14:34:33,015 INFO TableMetadata:66 - columns: [stu_name, sex, stu_id, age]
14:34:33,015 INFO TableMetadata:68 - foreign keys: []
14:34:33,015 INFO TableMetadata:69 - indexes: [sys_c007660]
14:34:33,046 INFO TableMetadata:65 - table found: SCOTT.T_TEACHER
14:34:33,046 INFO TableMetadata:66 - columns: [titleenum, c_age, c_title, c_id, c_sex, c_name]
14:34:33,046 INFO TableMetadata:68 - foreign keys: []
14:34:33,046 INFO TableMetadata:69 - indexes: [sys_c007663]
14:34:33,046 INFO SchemaUpdate:217 - schema update complete
Hibernate: insert into t_teacher (c_age, c_name, c_sex, c_title, titleEnum, c_id) values (?, ?, ?, ?, ?, ?)
這個warn不影響最後的結果,數據庫裏面也插進去數據了,但是,出現這個異常,看著心裡不爽,想解決這個問題!
用google搜索了下,很多開發者都遇到了這個問題,有解決的,說是數據庫驅動出了問題,我就想換個驅動試試。
在oracle官網上,oracle9i 9.2.0.4 jdbc的驅動,下載下來,將原來的替換掉,這個warn就消失了!哈哈
分享到:
相关推荐
绝对好用的9i驱动包+10g驱动包 解决java.sql.SQLException: 不支持的特性 解决oracle.jdbc.driver.OracleDatabaseMetaData.supportsGetGeneratedKeys()Z异常 等等
它实现了Java Database Connectivity (JDBC) API,使得开发者可以使用Java语言来操作Oracle数据库,执行SQL语句,进行数据查询、插入、更新和删除等操作。Oracle JDBC驱动分为不同版本,包括 Thin、OCI、JDBC-ODBC ...
java.lang.NullPointerException 是一种常见的错误,发生在程序中调用了未经初始化的对象或不存在的对象时。例如,在创建图片或调用数组时,如果图片未经初始化或数组元素未经初始化,就会出现该错误。解决方法是...
此外,Oracle JDBC驱动还支持高级特性,如连接池、批处理、游标以及分布式事务处理等。对于大型企业级应用,使用连接池如C3P0、HikariCP或Apache DBCP等可以提高性能和资源利用率。 总之,Java通过Oracle JDBC驱动...
在JDBC中,CLOB对象被表示为`java.sql.Clob`接口的实例,提供了读取和修改CLOB字段的方法。 要读取CLOB字段并转换为String,你需要遵循以下步骤: 1. **建立连接**:使用`DriverManager.getConnection()`方法建立...
总结,反射是Java中一个强大且灵活的特性,它使我们能够在运行时动态地操作类和对象,包括创建对象、访问和修改属性以及调用方法。在上述场景中,我们利用反射实现了对JavaBean的无实例化操作,简化了代码,提高了...
此外,描述还提到了文件管理功能的问题,这可能意味着Sylas试图支持上传webshell(一种用于远程控制服务器的恶意脚本)但出现了故障。这暗示Sylas具有一定的后渗透测试能力,允许安全专家模拟黑客攻击行为以测试系统...
SQL Server JDBC驱动2.0提供了多种特性,如支持批处理、事务管理、预编译语句(PreparedStatement)、结果集(ResultSet)、游标(Cursor)、元数据查询以及SQL Server特有的功能,如XML列类型和存储过程。...
此外,SQL Server Driver还支持一些高级特性,如批处理操作、存储过程调用、事务控制等。例如,你可以使用`Statement.addBatch()`方法将多个SQL语句打包为一个批次,然后通过`Statement.executeBatch()`一次性执行,...
6. `java.sql.SQLException`: 在执行数据库操作时,如果发生错误,会抛出此异常。 使用MySQL 5.7驱动jar包的基本步骤如下: 1. **添加依赖**:将下载的“驱动包”解压,并将包含的jar文件(如mysql-connector-java...
import java.sql.SQLException; public class OracleConnectionExample { public static void main(String[] args) { String url = "jdbc:oracle:thin:@//hostname:port/service_name"; String username = "your...
- `java.sql.SQLException`:表示JDBC操作中的错误或异常。 ### 3. 使用JDBC的步骤 1. 加载驱动:`Class.forName("com.mysql.jdbc.Driver")` 2. 建立连接:`Connection conn = DriverManager.getConnection(url, ...
import java.sql.SQLException; ``` 3. **注册JDBC驱动**:在Java程序中,通过`Class.forName()`方法注册JDBC驱动。 ```java Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); ``` 4. **建立...
1. **初始堆大小设置不当**:默认情况下,JVM的初始堆大小可能不足以支持大型应用或高并发场景下的需求。 2. **最大堆大小限制**:如果应用程序的内存需求超过JVM的最大堆大小设置,也会导致heap space问题。 3. **...
- `sqljdbc.jar`:这个版本的驱动程序可能不支持所有JDBC 4.0特性,适用于Java 5及更低版本。如果你的应用环境不支持JDBC 4.0,或者你不需要新的JDBC特性,可以选择这个版本。 3. 连接SQL Server的步骤: - 导入...
import java.sql.SQLException; public class Main { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydb"; String user = "username"; String password = "password...
接着,MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。它将SQL语句与Java代码分离,使开发者可以专注于编写SQL查询,同时...
4. sqljdbc4.jar:这是SQL Server JDBC驱动的一个版本,可能包含对新特性和性能优化的支持。"4"可能代表该驱动对应的JDBC版本,如JDBC 4.0或4.1,这取决于具体的sqljdbc4.jar版本。不同的版本可能会支持不同版本的...
import java.sql.SQLException; public class Main { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = ...