草庐IT

java - Oracle JDBC 字符集和 4000 个字符限制

我们正在尝试将UTF-16编码的字符串存储到AL32UTF8Oracle数据库中。我们的程序在使用WE8MSWIN1252作为字符集的数据库上运行完美。当我们尝试在使用AL32UTF8的数据库上运行它时,它会遇到java.sql.SQLException:ORA-01461:canbindaLONGvalueonlyforinsertintoaLONGcolumn.在下面的测试用例中,只要我们的输入数据不会太长,一切都可以正常工作。输入的字符串可以超过4000个字符。我们希望保留尽可能多的信息,即使我们意识到必须切断输入。我们的数据库表是使用CHAR关键字定义的(见下文)。我们希望这将

java - JDBC 驱动程序 MS Access 连接

我想用JavaGUI程序连接我的MSaccess文件,但是我有连接问题....我有Windows764b和MSOffice2007。当我在控制面板中打开ODBC驱动程序管理器时,我没有找到任何MicrosoftAccess驱动程序(也许当我启动ODBC时开始运行64位ODBC,现在我认为正在运行32位ODBC。我读了这个,我做到了:“用于window764位机器的jdbc-odbc连接..1.右键单击数据源(ODBC)..转到属性更改以下内容目标[%SystemRoot%\SysWOW64\odbcad32.exe]开始于:[%SystemRoot%\System32]按enter并以

java - 在 JDBC ResultSet 中,当对 int 结果列调用 getLong() 或 getShort() 时会发生什么情况?

假设我有一个JDBCResultSet,我调用了getLong()或getshort()方法。对于以下哪种SQL类型{SMALLINT,INT,BIGINT}我应该得到long,对于哪些类型我应该得到错误?换句话说,如果我有一个INT并且我想要一个SMALLINT(Ashort),我会得到它,还是会得到一个错误?同样,如果我有一个INT并想要一个BIGINT(长整数),我会得到它,还是会得到一个错误?Javadocs(下面列出)什么也没说。publiclonggetLong(intcolumnIndex)throwsSQLExceptionRetrievesthevalueofthed

java - 使用 CQL jdbc 驱动程序时连接字符串应该是什么

使用CQLjdbc驱动程序时,连接字符串应该是什么?我能否在Java中在线找到使用CQLJDBC驱动程序的CQL的正确/完整示例? 最佳答案 您需要来自apache站点的cqljar。这是我通过CLI输入数据后使用的基本测试(使用来自wiki的示例):publicclassCqlJdbcTestBasic{publicstaticvoidmain(String[]args){Connectioncon=null;try{Class.forName("org.apache.cassandra.cql.jdbc.CassandraDri

java - JDBC:是否仅当调用 commit() 方法不成功时,调用 rollback() 方法才有效?

我是JavaJDBC新手,开发了一个小型数据库应用程序。我正在学习O'Reilly-DatabaseProgrammingwithJDBCandJava2ndEdition。con.rollback()只有在con.commit不成功时才会生效吗?我预计即使con.commit()成功调用con.rollback()也会产生效果。换句话说,将其用作“撤消”操作。我尝试在con.commit()成功后调用con.rollback(),但它没有按预期工作。那么好/预料之中吗?这个例子来self上面提到的那本书:对con.rollback()的调用被注释掉了。在con.close()之前接近

java - Maven ojdbc jar依赖报错: package oracle. jdbc不存在

标题我正在尝试在我的JavaEE6应用程序(类名VisualizerRepository.java)中使用jdbc连接,我在nexus存储库中有jdbc驱动程序该类必须执行一个存储过程并打印该过程的结果。由于JPA2.0不支持调用过程,因此我使用jdbc。包com.nfsmith.crm.data.repository;importjava.sql.CallableStatement;importjava.sql.Connection;importjava.sql.SQLException;importjavax.sql.DataSource;importoracle.jdbc.Ora

java - ODBC 与 JDBC 性能对比

我有一项任务是将Java和C与MySQL数据库一起使用,并比较结果并给出为什么会出现这样的结果的原因。No.ofRecordsExecutiontime(ms)RecordsJavaC100586765006282162000733697500096310561000014692178如您所见,从数据库中提取的记录数量越少,C(ODBC)的性能越好。但随着记录数量的增加,Java(JDBC)胜出。我想到的原因可能是ODBC的驱动加载速度比JDBC快很多,但是JDBC的访问速度比ODBC好,所以才会有这样的结果。但是,我无法在任何地方找到这样的推理。有什么建议吗?

java - 无法获得与 PostgreSQL 的 JDBC 连接

我正在尝试建立到PostgreSQL的JDBC连接。依赖的驱动版本为:9.4-1204-jdbc42,Postgres版本为9.5.0。以下是堆栈:Causedby:java.lang.UnsupportedClassVersionError:org/postgresql/Driver:Unsupportedmajor.minorversion52.0atjava.lang.ClassLoader.defineClass1(NativeMethod)atjava.lang.ClassLoader.defineClass(ClassLoader.java:791)atjava.secur

java - 将参数动态设置为 JDBC 中的准备语句

我有一个适用于所有DAO的公共(public)类,我们将在其中读取查询并执行它们,如下所示。我将从DAO向此类发送参数。Connectionconnection=Queries.getConnection();Stringquery=Queries.getQuery(queryName);//QueriesiwillgetfromxmlPreparedStatementpreparedStatement=connection.prepareStatement(query);在JDBC中为准备好的语句动态设置参数的最佳方法是什么。我相信,我们在JDBC中没有命名参数概念,就像在sprin

java - 如何使用 JDBC 引用/转义标识符,例如列名?

不同的数据库服务器使用不同的方式来引用和转义标识符。例如"foobar"vs`foobar`vs[foobar],或者"10"""vs"10\"",或者某些数据库需要引用FooBar或数组等标识符,而其他数据库则不需要。是否有任何API方法可以为给定的数据库连接正确执行引用/转义?或者任何替代解决方案? 最佳答案 看看DatabaseMetaData.getIdentifierQuoteString()我从未使用过它,但听起来不错:-)getExtraNameCharacters()也有一些帮助