db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel A Keefe <dan.ke...@convergys.com>
Subject RE: problem with embedded driver
Date Tue, 19 Apr 2011 20:06:20 GMT
ij is the tool used to create a manual connection to the derby db


________________________________________
From: steve lescure [stevelescure@yahoo.com]
Sent: Tuesday, April 19, 2011 4:03 PM
To: Derby Discussion
Subject: RE: problem with embedded driver

thanks - i'm not following (very new to this).  "via ij"?

steve




--- On Tue, 4/19/11, Daniel A Keefe <dan.keefe@convergys.com> wrote:

> From: Daniel A Keefe <dan.keefe@convergys.com>
> Subject: RE: problem with embedded driver
> To: "Derby Discussion" <derby-user@db.apache.org>
> Date: Tuesday, April 19, 2011, 3:49 PM
> Steve;
>
> When you connect to the derby db via ij, the available db
> connections is NULL.
>
> dk
>
> ________________________________________
> From: steve lescure [stevelescure@yahoo.com]
> Sent: Tuesday, April 19, 2011 3:45 PM
> To: derby-user@db.apache.org
> Subject: problem with embedded driver
>
> I create a java desktop application using Netbeans that
> uses the embedded derby driver.  it works fine as long
> as i connect to the database manually within Netbeans.
> If I don't, i get a return code of 8000/4001 connection
> refused.
>
> I created a project in Netbeans using the derby demo
> application too, so i could see if the problem was my code
> or something else.  I have the same problem.  it
> only works if i right click on the database in Netbeans and
> choose "connect".
>
> i seem to be missing something fundamental here.
>
> can anybody help?
>
> package ondemand;
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.PreparedStatement;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.Statement;
> import java.util.ArrayList;
> import java.util.Properties;
>
> public class DemandDatabase {
>
>     private String framework = "embedded";
>     private String driver =
> "org.apache.derby.jdbc.EmbeddedDriver";
>     private String protocol = "jdbc:derby:";
>
>     public DemandDatabase() {
>         System.out.println("in
> constructor ");
>     }
>
>     public ArrayList go()
>     {
>         System.out.println("about to
> load the driver in " + framework + " mode");
>         loadDriver();
>         Connection conn = null;
>
>         ArrayList statements = new
> ArrayList();
>         ArrayList jobnames = new
> ArrayList();
>
>         Statement s = null;
>         ResultSet rs = null;
>
>         try {
>             Properties props
> = new Properties(); // connection properties
>             props.put("user",
> "nbuser");
>
> props.put("password", "nbuser");
>             String dbName =
> "//localhost:1527/users"; // the name of the database
>             conn =
> DriverManager.getConnection(protocol + dbName
>
>     + ";create=false", props);
>
> System.out.println("Connected to database " + dbName);
>
>
> conn.setAutoCommit(true);
>             s =
> conn.createStatement();
>
> statements.add(s);
>             rs =
> s.executeQuery(
>
>     "SELECT JOBNAME, USERID FROM APP.JOBS");
>             String
> txtJobname;
>             String
> txtUserID;
>
>             while (rs.next())
> {
>
> txtJobname = rs.getString("JOBNAME");
>
> System.out.println("value of jobname is " + txtJobname);
>
> txtUserID = rs.getString("USERID");
>
> System.out.println("value of User ID is " + txtUserID);
>
> jobnames.add(txtJobname);
>             }
>
>             try {
>                 //
> the shutdown=true attribute shuts down Derby
>
> DriverManager.getConnection("jdbc:derby:;shutdown=true");
>             } catch
> (SQLException se) {
>                 if
> (((se.getErrorCode() == 50000)
>
>         &&
> ("XJ015".equals(se.getSQLState())))) {
>
>     // we got the expected exception
>
>     System.out.println("Derby shut down
> normally");
>
>     // Note that for single database shutdown, the
> expected
>
>     // SQL state is "08006", and the error code is
> 45000.
>                 }
> else {
>
>     // if the error code or SQLState is different,
> we have
>
>     // an unexpected exception (shutdown failed)
>
>     System.out.println("Derby did not shut down
> normally");
>
>     printSQLException(se);
>                 }
>             }
>         } catch (SQLException sqle) {
>
> printSQLException(sqle);
>         } finally {
>             // release all
> open resources to avoid unnecessary memory usage
>             try {
>                 if
> (rs != null) {
>
>     rs.close();
>
>     rs = null;
>                 }
>             } catch
> (SQLException sqle) {
>
> printSQLException(sqle);
>             }
>
>             // Statements and
> PreparedStatements
>             int i = 0;
>             while
> (!statements.isEmpty()) {
>                 //
> PreparedStatement extend Statement
>
> Statement st = (Statement) statements.remove(i);
>                 try
> {
>
>     if (st != null) {
>
>         st.close();
>
>         st = null;
>
>     }
>                 }
> catch (SQLException sqle) {
>
>     printSQLException(sqle);
>                 }
>             }
>             //Connection
>             try {
>                 if
> (conn != null) {
>
>     conn.close();
>
>     conn = null;
>                 }
>             } catch
> (SQLException sqle) {
>
> printSQLException(sqle);
>             }
>         }
>         return jobnames;
>     }
>
>     private void loadDriver() {
>         try {
>
> Class.forName(driver).newInstance();
>
> System.out.println("Loaded the appropriate driver");
>         } catch (ClassNotFoundException
> cnfe) {
>
> System.err.println("\nUnable to load the JDBC driver " +
> driver);
>
> System.err.println("Please check your CLASSPATH.");
>
> cnfe.printStackTrace(System.err);
>         } catch (InstantiationException
> ie) {
>
> System.err.println(
>
>     "\nUnable to instantiate the JDBC driver " +
> driver);
>
> ie.printStackTrace(System.err);
>         } catch (IllegalAccessException
> iae) {
>
> System.err.println(
>
>     "\nNot allowed to access the JDBC driver " +
> driver);
>
> iae.printStackTrace(System.err);
>         }
>     }
>
>     private void reportFailure(String message) {
>         System.err.println("\nData
> verification failed:");
>         System.err.println('\t' +
> message);
>     }
>
>     public static void
> printSQLException(SQLException e) {
>         // Unwraps the entire exception
> chain to unveil the real cause of the
>         // Exception.
>         while (e != null) {
>
> System.err.println("\n----- SQLException -----");
>
> System.err.println("  SQL State:  " +
> e.getSQLState());
>
> System.err.println("  Error Code: " +
> e.getErrorCode());
>
> System.err.println("  Message:    " +
> e.getMessage());
>             // for stack
> traces, refer to derby.log or uncomment this:
>
> //e.printStackTrace(System.err);
>             e =
> e.getNextException();
>         }
>     }
> }
>
> NOTICE:  The information contained in this electronic
> mail transmission is intended by Convergys Corporation for
> the use of the named individual or entity to which it is
> directed and may contain information that is privileged or
> otherwise confidential.  If you have received this
> electronic mail transmission in error, please delete it from
> your system without copying or forwarding it, and notify the
> sender of the error by reply email or by telephone
> (collect), so that the sender's address records can be
> corrected.
>

NOTICE:  The information contained in this electronic mail transmission is intended by Convergys
Corporation for the use of the named individual or entity to which it is directed and may
contain information that is privileged or otherwise confidential.  If you have received this
electronic mail transmission in error, please delete it from your system without copying or
forwarding it, and notify the sender of the error by reply email or by telephone (collect),
so that the sender's address records can be corrected.

Mime
View raw message