草庐IT

ShardingSphere-jdbc

全部标签

java - 使用 JDBC 从 dbms_output.get_lines 获取输出

如何使用JDBC在Java应用程序中获取Oracle的dbms_output.get_lines的输出而不在数据库中创建额外的对象? 最佳答案 I'vealsobloggedaboutthisissuehere.下面是一个片段,说明了如何做到这一点:try(CallableStatementcall=c.prepareCall("declare"+"numinteger:=1000;"//Adaptthisasneeded+"begin"//Youhavetoenablebufferinganyserveroutputthatyou

java - 动态加载 JDBC 驱动程序

我正在尝试使用这种代码动态加载JDBC驱动程序:try{URL[]url={newURL("file:libs/mysql-connector-java-5.1.21.jar")};URLClassLoaderloader=newURLClassLoader(url,System.class.getClassLoader());loader.loadClass(drivername);Enumerationdrivers=DriverManager.getDrivers();while(drivers.hasMoreElements()){Driverdriver=drivers.ne

java - 有没有一种安全的方法来判断 JDBC 连接是否仍然正常?

我们有一个网络服务器处理来自客户端的请求。该Web服务器的一个组件与数据库保持连接。在开始使用连接之前,我需要能够识别连接是否已关闭或以某种方式不再起作用。目前我在做类似的事情://Decideconnectiondetailsonalias.privateStringalias=null;//ImusthavemyownbecauseIpreparestatements.privateConnectionconnection=null;publicConnectiongetConnection(){try{if(connection.isClosed()){//Startafresh

java - ORA-01461 对于继承的 char(1 字节)列 - 需要使用 Spring JDBC(扩展 StoredProcedure)使其工作

我有一个这样的SPcreateorreplacePROCEDUREmyprocmyvarinoutmytable.mycol%TYPE其中mycol是char(1字节)从java代码,我尝试将一个字符串/字符绑定(bind)到这个变量,我得到了ORA-01461-canbindaLONGvalueonlyforinsertintoaLONGcolumn如果我替换为myvarinoutvarchar2然后就可以了关于如何正确绑定(bind)来自Java代码的值有什么想法吗?我真的很想继续使用%type作为存储过程输入参数附言。这不是ORA-01461:canbindaLONGvalueo

java - Tomcat JDBC 连接池 VS c3p0 连接池

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我最近遇到了这个连接池实现。http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html我觉得挺有意思的。有人试过吗?我认为它看起来很棒,除了它不支持像c3p0那样的自动重试和语句缓

java - 如何在 JDBC 准备好的语句中转义文字问号 ('?' )

我想创建一个JDBCPreparedStatement,如下所示:SELECTURL,LOCATE('?',URL)posFROMLinksWHEREpageId=?ORDERBYposASC第一个?是文字,第二个?是参数。我可以使用CHAR(63)代替'?'但我认为额外的函数调用会减慢SQL的执行速度。有什么方法可以逃避第一个??编辑:以下代码测试了dkatzel关于字符串中的?字符不被视为标记的断言:publicclassTest{publicstaticvoidmain(String[]args)throwsSQLException{Connectionconn=DriverMa

java - 在 JDBC 中设置语句提取大小或使用 LIMIT 子句触发 SQL 查询有什么区别?

在JDBC中设置语句提取大小或使用LIMIT子句触发SQL查询有什么区别? 最佳答案 SQLLIMIT会将您的SQL查询结果限制在指定范围内。您可以使用它来显示前X个结果,或显示X-Y个结果范围。fetchsize是当您使用next()滚动查询ResultSet时,JDBC驱动程序一次从数据库物理检索的行数。例如,您将查询提取大小设置为100。当您检索第一行时,JDBC驱动程序检索前100行(如果满足查询的行少于100行,则检索所有行)。当您检索第二行时,JDBC驱动程序仅从本地内存返回该行——它不必从数据库中检索该行。此功能通过减

Java JDBC - 多个准备好的语句批量插入

使用JDBC(Oracle)我需要向两个表中的每一个插入大约一千行。像这样:"INSERTINTOTABLE_A(A_ID,A_NAME,A_LAST_NAME)VALUES(MY_SEQUENCE.NEXTVAL,?,?)";"INSERTINTOTABLE_B(B_ID,B_DESCRIPTION)VALUES(MY_SEQUENCE.CURRVAL,?)";问题在于两个表是通过公共(public)序列连接的,因此语句的顺序很重要。如果我只有一张table就很容易了。在那种情况下,我使用了代码:Stringinsert="InsertintoTABLE_A(A_ID,A_NAME,

java - 如何记录 JDBC 连接 Activity ?

如何查看池库(C3P0)何时创建和关闭JDBC连接?注意:我已经对此进行了研究并且已经找到了解决方案。我将它张贴在这里,以便它可能对其他人有用,并且我可以引用它以防我将来忘记它。欢迎使用其他方法/答案。 最佳答案 log4jdbc库可用于记录JDBC连接。将这个库添加到POM-org.slf4jslf4j-log4j121.6.4org.lazylukelog4jdbc-remix0.2.7配置log4j.properties。修改日志记录选项以根据您自己的需要调整详细信息级别。log4j.rootLogger=INFO,R,FIL

java - 最大 JDBC 批处理大小是多少?

我有一个列表,而且这个列表还在不断增加。我正在根据列表大小添加批处理。我忘了限制指定大小的doexecuteBatch。程序运行数小时。我现在不想停下来,修复并重新开始。我的问题是,什么决定了添加批处理的大小?一次性执行executeBatch()的批处理的最大容量是多少?在不执行executeBatch()的情况下,我可以使用多少次addBatch? 最佳答案 PgJDBC在批处理方面有一些限制:所有请求值和所有结果都必须在内存中累积。这包括大的blob/clob结果。因此,可用内存是批量大小的主要限制因素。UntilPgJDBC