Java db架构不存在(netbeans 7)
我使用NetBeans7服务创建了一个JavaDB数据库,我使用java嵌入式驱动程序连接到JavaDB。 我可以在java数据库的连接下找到我的数据库,在名为ROOT的模式下 这是我的java db连接名称:Java db架构不存在(netbeans 7),java,derby,javadb,Java,Derby,Javadb,我使用NetBeans7服务创建了一个JavaDB数据库,我使用java嵌入式驱动程序连接到JavaDB。 我可以在java数据库的连接下找到我的数据库,在名为ROOT的模式下 这是我的java db连接名称: jdbc:derby:AddressBook [root on ROOT] 但是,当我尝试在我的项目中使用该模式时,我得到一个异常 Caused by: ERROR 42Y07: Schema 'ROOT' does not exist at org.apache.derby.
jdbc:derby:AddressBook [root on ROOT]
但是,当我尝试在我的项目中使用该模式时,我得到一个异常
Caused by: ERROR 42Y07: Schema 'ROOT' does not exist
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSchemaDescriptor(Unknown Source)
.....
错误将在select语句中出现。我应该怎么做才能使它在项目中可读
这是我的代码:
private static final String URL = "jdbc:derby:AddressBook";
private static final String USERNAME = "root";
private static final String PASSWORD = "cs101";
private Connection connection = null; // manages connection
private PreparedStatement selectAllPeople = null;
private PreparedStatement selectPeopleByLastName = null;
private PreparedStatement insertNewPerson = null;
// constructor
public PersonQueries()
{
try
{
connection =
DriverManager.getConnection( URL, USERNAME, PASSWORD );
// create query that selects all entries in the AddressBook
selectAllPeople =
connection.prepareStatement( "SELECT * FROM ROOT.Addresses" )
在创建连接之前,请尝试输入此代码
Class.forName("org.apache.derby.jdbc.ClientDriver")
当使用嵌入式derby时,nb已将db放置在特定位置。在my NB 7.2中,安装默认为:C:\Users\James.netbeans-derby。您需要通过设置derby home属性来确保应用程序正在读取相同的db文件:
System.setProperty("derby.system.home", "C:\Users\James\.netbeans-derby");
或者像这样:
System.setProperty("derby.system.home",
System.getProperty("user.home")+".netbeans-derby");
祝你好运 从Derby数据库的属性中获取完整的URL,并获取连接以解决问题尝试
地址
而不是根地址。地址
。地址是我的首字母,但后来我将其改为根地址。地址希望它更可能读取嵌入的驱动程序,而不是客户端驱动程序,因为原始帖子中的URL语法是嵌入语法,而不是客户端语法。