db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: issues when connecting to a database
Date Wed, 30 Apr 2008 15:38:52 GMT
Hi Brandon,

 From the stack trace, it appears that the engine doesn't know where 
your database lives. From the server startup command and connection URL, 
it appears that Derby is looking for the database in the current 
directory of the server process. You can modify that startup command to 
point the system property "derby.system.home" at the directory which 
holds your databases. Please see the Developer's Guide section titled 
"Defining the system directory". Alternatively, you can specify the full 
path to your database on the connection URL. Please see the Developer's 
Guide section titled "Connecting to databases outside the system directory".

Hope this helps,
-Rick

Brandon Dohman wrote:
> I've been working to setup the ability for my java code to start and 
> connect to my server from within the code, w/out having to do it 
> through netbeans.  However, I keep running into issues.  I've tried 
> connecting both ways, 1 through using this line
>  
>    Process p = Runtime.getRuntime().exec("java -jar 
> %DERBY_HOME%/lib/derbyrun.jar server start");
>   
> And another through using this line.         
>  
>     Process p = 
> Runtime.getRuntime().exec("C:\\javadb\\bin\\startnetworkserver.bat");
>
>  
>
> Here is the error code I receive with my first line
>
>  
> sql ex in connecting to db java.net.ConnectException : Error 
> connecting to server localhost on port 1527 with message Connection 
> refused: connect
> java.sql.SQLNonTransientConnectionException: java.net.ConnectException 
> : Error connecting to server localhost on port 1527 with message 
> Connection refused: connect.
>         at 
> org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown 
> Source)
>         at 
> org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
>         at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
>         at java.sql.DriverManager.getConnection(DriverManager.java:582)
>         at java.sql.DriverManager.getConnection(DriverManager.java:185)
>         at DBServer.conversation.<init>(conversation.java:102)
>         at DBServer.DBServer.run(DBServer.java:110)
> Caused by: org.apache.derby.client.am.DisconnectException: 
> java.net.ConnectException : Error connecting to server localhost on 
> port 1527 with message Connection refused: connect.
>         at org.apache.derby.client.net.NetAgent.<init>(Unknown Source)
>         at org.apache.derby.client.net.NetConnection.newAgent_(Unknown 
> Source)
>         at org.apache.derby.client.am.Connection.<init>(Unknown Source)
>         at org.apache.derby.client.net.NetConnection.<init>(Unknown 
> Source)
>         at org.apache.derby.client.net.NetConnection40.<init>(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown 
> Source)
>         ... 5 more
> Caused by: java.net.ConnectException: Connection refused: connect
>         at java.net.PlainSocketImpl.socketConnect(Native Method)
>         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>         at 
> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
> Here is the error code I receive with my second line
>  
> sql ex in connecting to db The connection was refused because the 
> database HMDATABASE was not found.
> java.sql.SQLNonTransientConnectionException: The connection was 
> refused because the database HMDATABASE was not found.
>         at 
> org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown 
> Source)
>         at 
> org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
>         at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
>         at java.sql.DriverManager.getConnection(DriverManager.java:582)
>         at java.sql.DriverManager.getConnection(DriverManager.java:185)
>         at DBServer.conversation.<init>(conversation.java:102)
>         at DBServer.DBServer.run(DBServer.java:110)
> Caused by: org.apache.derby.client.am.DisconnectException: The 
> connection was refused because the database HMDATABASE was not found.
>         at 
> org.apache.derby.client.net.NetConnectionReply.parseRDBNFNRM(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetConnection.flowUSRIDPWDconnect(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
>         at org.apache.derby.client.net.NetConnection.<init>(Unknown 
> Source)
>         at org.apache.derby.client.net.NetConnection40.<init>(Unknown 
> Source)
>         at 
> org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown 
> Source)
>         ... 5 more
>  
>  
>  
>  
> Here is the code I'm using to start the server
>  
>  try{
>             Process p = Runtime.getRuntime().exec("java -jar 
> %DERBY_HOME%/lib/derbyrun.jar server start");
>             // or this line, I've tried it both ways
>             // Process p = 
> Runtime.getRuntime().exec("C:\\javadb\\bin\\startnetworkserver.bat");
>             // p.waitFor();
>         }catch (Exception e ){
>             System.out.println("Exception in launching db " + 
> e.getMessage());
>             JOptionPane.showMessageDialog(null,"Application: Exception 
> in starting database " + e.getMessage());
>         }
>  
> And here is the code I'm using to connect to the database
>  
>     String driverName = "org.apache.derby.jdbc.ClientDriver";
>             Class.forName(driverName);
>             String url = "jdbc:derby://localhost:1527/HMDATABASE";
>             String username = "username";
>             String password = "password";
>             connection = DriverManager.getConnection(url, username, 
> password);
>  
>  
> I've gone through and set the java home and derby home as it shows in 
> the guide, but still no avail.
>  
> My connect string on the runtime panel - databases is
>  
> jdbc:derby://localhost:1527/Patron_DB [hmadmin on HMADMIN]
>  
> If more information is needed please let me know.  I hope my email 
> isn't too confusing
>  
>  
> Thanks for the help.


Mime
View raw message