Tag: derby

停止Tomcat不会删除Derby db.lck

(编辑:我已经为问题添加了一笔赏金。我找到了一个解决方法(在下面发布的答案),但我希望有人可以解释为什么首先需要解决方法。) 我有一个Spring webapp,它在开发过程中连接到Derby数据库。 这在第一次运行webapp时工作正常,但在后续运行中,它在启动时失败,“Derby的另一个实例可能已经启动了数据库”SQLException。 我知道这是因为当我关闭Tomcat时,与Derby的连接没有被关闭,即使我希望Spring自动处理它。 所以我的问题是,如何正确断开与Derby的连接? 不仅在手动停止Tomcat期间,而且在热部署新的.war文件期间? 我想避免使用Derby服务器,我也使用注释而不是XML配置。 这是我原来的PersistConfig类: package com.example.spring.config; import java.beans.PropertyVetoException; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import org.apache.derby.jdbc.EmbeddedDataSource; import org.hibernate.SessionFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.datasource.SimpleDriverDataSource; import org.springframework.jdbc.datasource.embedded.ConnectionProperties; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseConfigurer; import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType; import org.springframework.orm.hibernate4.HibernateExceptionTranslator; import org.springframework.orm.hibernate4.HibernateTransactionManager; import org.springframework.orm.hibernate4.LocalSessionFactoryBean; import org.springframework.orm.jpa.JpaVendorAdapter; import org.springframework.orm.jpa.vendor.Database; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; import org.springframework.transaction.annotation.EnableTransactionManagement; […]

java中的Java derby数据库批量加载

Derby是否具有从CSV执行批量插入数据的function? 我能想到的最好的方法是逐行读取文件并创建一个批处理SQL更新语句并运行它。 与使用mySQL的LOAD语句从CSV文件加载相比,花费30到40分钟的100万行,对于相同的数据需要2-3秒

Apache Derby – java.sql.SQLException:无法启动数据库

首先,这是我第一次使用Apache Derby。 我正在使用netbeans,愿意使用嵌入式apache derby,我按照以下教程配置和安装数据库。 然后,我使用项目属性将derby.jar文件附加到我的项目中。 http://netbeans.org/kb/docs/ide/java-db.html#starting 附加的图像将在netbeans中显示我的数据库状态 我的数据库名称是“contact”。 表名是“FRIENDS”。 以下是我的测试代码 **DatabaseConnector.java** import java.sql.*; public class DataBaseConnector { private Connection con; public DataBaseConnector() { } private void createConnection() { try { Class.forName(“org.apache.derby.jdbc.EmbeddedDriver”); con = DriverManager.getConnection(“jdbc:derby:C:/Users/yohan/.netbeans-derby/contact”,”yohan”,”xyz”); } catch(Exception e) { e.printStackTrace(); } } private void closeConnection() { try { con.close(); } catch(Exception e) { e.printStackTrace(); } } […]

Java SQLexception无效的游标状态 – 没有当前行

我一直在努力解决这个问题。 首先,我有一个insertProduct(Product p)方法,用于检查数据库中是否存在具有指定代码的产品。 如果是这样,此方法将显示错误消息。 否则,它应该将产品添加到数据库并将其打印到控制台。 我不确定我是否正确地做到了这一点。 其次, deleteProduct(Product p)方法应该删除insertProduct方法添加的产品。 现在的问题是,当我尝试添加产品时,我不断收到SQLexception,然后deleteProduct方法只是在每次运行程序时都会逐个删除数据库中的产品,直到不存在。 我不确定这两种方法都有什么问题。 控制台输出: Derby has been started. Product list: bvbn Murach’s Beginning Visual Basic .NET $49.50 cshp Murach’s C# $49.50 java Murach’s Beginning Java $49.50 jsps Murach’s Java Servlets and JSP $49.50 mcb2 Murach’s Mainframe COBOL $59.50 sqls Murach’s SQL for SQL Server $49.50 zjcl Murach’s […]

德比:相当于CONCAT

美好的一天! Derby / Java DB与MySQL的CONCATfunction的等效function是什么? 我尝试使用CONCAT到Derby但它提交了一个错误。

结果集未打开。 validation自动提交是否关闭。 Apache Debry

我正在使用apache derby作为我的数据库。 我能够在数据库中执行插入操作。 以下是试图显示我唯一的表’MAINTAB’的内容的代码的摘录。 java.sql.Connection的实例是’dbconn’。 ResultSet word; Statement query; String getData=”SELECT THEWORD FROM MAINTAB”; try{ System.out.println(dbconn.getAutoCommit()); query = dbconn.createStatement(); word = query.executeQuery(getData); query.close(); dbconn.setAutoCommit(false); System.out.println(dbconn.getAutoCommit()); for(;word.next();) System.out.println(word.getString(1)); }catch(Throwable e){ System.out.println(“Table fetch failed or result data failed”);} 以下是输出。 org.apache.derby.jdbc.EmbeddedDriver loaded. Database testDB connected true false Table fetch failed or result data failed —SQLException Caught— SQLState: XCL16 […]

JavaFX + Hibernate(JPA)持久性+ Derby DB

我正在开发一个Java桌面应用程序,并且对使用JavaFX非常感兴趣。 我打算使用MVC架构,因为我有一些Java EE和MVC模型的经验。 我想将数据存储在嵌入式derby数据库中并使用Hibernate作为持久层,但我找不到一个关于用hibernate和JavaFX实现MVC的好教程。 我已经创建了持久性文件,但我不确定如何使它与JavaFX一起使用。 在Java EE中,我注入EJB服务或DAO,但由于我的应用程序不是服务器连接,我想我不能这样做。 有人可以解释我如何实现这一目标吗? 可以一起使用它们吗?

以编程方式设置derby.system.home

需要将JavaDB(derby)db文件的数据库和日志文件移动到部署目录中。 数据库正在应用程序启动目录中工作,因为JavaDB创建了一个具有数据库名称的文件夹(在我的例子中是mydb),但是我想将该目录移动到名为data / creating data / mydb的子目录中。 我可以通过connect调用执行此操作: DriverManager.getConnection(“jdbc:derby:data/mydb;create=false”); 这很有效。 但我想以编程方式明确设置值 derby.system.home =数据/ derby.stream.error.file =日志/的derby.log 所以我可以这样做: DriverManager.getConnection(“jdbc:derby:mydb;create=false”); 并且所有dbs都在该数据/目录中。 并且derby日志文件将在logs /中! 我似乎无法弄清楚这一点。 有人帮吗? 有没有办法以编程方式设置这些属性(因为它是嵌入的)?

java.sql.SQLSyntaxErrorException:表/视图’x’不存在

我试图在带有GlassFish 4.1的NetBeans 8.0.2 IDE中运行一个名为AddressBook的Web应用程序(带有Facelets的JSF),它通过托管bean中的以下代码访问关系数据库: @Resource( name=”jdbc/addressbook” ) DataSource dataSource; 当我运行应用程序时,我在浏览器中收到以下错误: java.sql.SQLSyntaxErrorException: Table/View ‘ADDRESSES’ does not exist at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source) at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source) at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:586) at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255) at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52) at com.sun.gjc.spi.ManagedConnectionImpl.prepareCachedStatement(ManagedConnectionImpl.java:992) at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareStatement(ConnectionWrapper40.java:173) at addressbook.AddressBean.getAddresses(AddressBean.java:157) AddressBean.java第157行是: PreparedStatement getAddresses = connection.prepareStatement( “SELECT FIRSTNAME, LASTNAME, STREET, CITY, STATE, ZIP ” + “FROM ADDRESSES ORDER BY […]

如何在JSP中将值插入数据库到derby?

我在JSP中创建了一个表单,用于在德比中将数据插入数据库,但它不起作用。 数据库名称为CUSTOMER。 表格: ID (int), CNAME (varchar), ADDRESS (varchar), PHONENUMBER (varchar) client.jsp的内容: JSP Page Name Address TelNumber <input type="submit" name="OK" onclick=" ” value=”OK”/> client.java的内容。 package database; public class Client implements DatabaseConnection{ private static Connection conn = null; private static void createConnection(){ try { conn = DriverManager.getConnection(URL, USER, PASSWORD); } catch (SQLException ex) { Logger.getLogger(client.class.getName()).log(Level.SEVERE, null, […]