Advertisement

01.13.2008 at 05:41PM PST, ID: 23079799
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

7.8

How do I get this Glassfish ( JDBC ConnectionPool) implementation of my db class to work?

Asked by richardsimnett in Sun Java System Web Server, Java Programming Language, Java Server Pages (JSP)

Tags: , ,

Hello,
I am trying to port a database class I wrote for command line linux to work with the Glassfish JDBC Connection Pool features. I have setup a connection pool called test under glassfish (Sun Java Application Server 9.1)... now I am trying to interface it by name from my datbase class, however, it cannot Determine what InitialContext is in the executeQuery or executeUpdate functions. What am I missing here? What will make this work completely?


Worth 500 points.

Thanks,
RickStart Free Trial
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
/*
 * Database.java
 *
 * Created on November 1, 2006, 1:28 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */
 
 
 
//Database Connectivity - Requires ODBC
import java.util.Hashtable;
import javax.sql.*;
import java.sql.*;
import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource;
 
public class glassfishDB {
	Statement stmt;
	ResultSet rs;
	ResultSetMetaData meta;
	Connection con;
	long numberofrows = -1;
        int errorState = 0;
        String errorMessage = "";
        String poolname = "";
        
	glassfishDB(String poolName)
	{
            this.poolname = poolName;
	}
 
	void executeQuery(String query)
	{
            try 
            {
		InitialContext ctx = new InitialContext();
                com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource ds = (com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource) ctx.lookup("jdbc/" + poolname);
                con = ds.getConnection();
                stmt = con.createStatement();
                // Do db operations.
                // Do not close driver connection
		rs = stmt.executeQuery(query);
		rs.setFetchSize(1); 
		meta = rs.getMetaData();
	    }
	    catch (Exception e)
	    {
                //System.out.println("Database Connection Error:" + e.toString());
                errorMessage = e.toString();
                errorState = 1;
	    }
	}
 
	void executeUpdate(String query)
	{
		try {
		InitialContext ctx = new InitialContext();
                com.sun.appserv.jdbc.DataSource ds = (com.sun.appserv.jdbc.DataSource) ctx.lookup("jdbc/" + poolname);
                con = ds.getConnection();
                stmt = con.createStatement();
		stmt.executeUpdate(query);
		}
	    catch (Exception e)
	    {
			//System.out.println("Database Connection Error:" + e.toString());
                        errorMessage = e.toString();
                        errorState = 2;
		}
	}
 
	long getRowCount()
	{
		try
		{
			int start = rs.getRow();
			rs.last();
			int last = rs.getRow();
 
			rs.first();
 
			numberofrows = last - start;
		}
		catch(Exception e)
		{
			//System.out.println("Database getRowCount() Error: " + e.toString());
                        errorMessage = e.toString();
                        errorState = 3;
		}
          return numberofrows;
	}
 
        synchronized Hashtable getNextRecord()
	{
		Hashtable ht = new Hashtable();
 
		//Assign the next record to the hashtable
		try
		{
 
			if (rs.next())
			{
				////System.out.println("Data Present");
				//loop over the variable names and assign them and their values to the hashtable
				for (int col = 1; col <= meta.getColumnCount(); col++) {
				   String varName = meta.getColumnName(col).trim();
				   ////System.out.println("ColNAME " +varName);
				   String tdata = rs.getString(col);
 
				   if (tdata == null)
				   	  tdata = "";
 
				   ht.put(varName, tdata);
				}
			}
			else
			{
				ht = null;
			}
		}
		catch (Exception e)
		{
			//System.out.println("Database Read Error: " + e.toString());
                        errorMessage = e.toString();
                        errorState = 4;
		}
 
		return ht;
	}
 
	void close()
	{
		try
                {
                    con.close();
                }
                catch (Exception e)
                {
                    System.out.print("Database Close Error: " + e.toString() + "\n\n");
                }
        }
 
}
 
Loading Advertisement...
 
[+][-]01.13.2008 at 08:43PM PST, ID: 20650924

View this solution now by starting your 30-day free trial. Setting up your free trial is quick, easy, and secure. We will return you to this solution, unlocked, when you're done.

 

About this solution

Zones: Sun Java System Web Server, Java Programming Language, Java Server Pages (JSP)
Tags: glassfish, jdbc, connection
Sign Up Now!
Solution Provided By: petiex
Participating Experts: 1
Solution Grade: A
 
 
[+][-]01.14.2008 at 07:48AM PST, ID: 20653770

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 30-day free trial to view this Author Comment or ask the Experts your question.

 
[+][-]01.14.2008 at 08:53AM PST, ID: 20654342

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 30-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]01.14.2008 at 08:56AM PST, ID: 20654401

At Experts Exchange, members can ask their questions to thousands of technology professionals, also known as Experts. Experts compete and collaborate to answer those questions by leaving comments like this one.

Start your 30-day free trial to view this Expert Comment or ask the Experts your question.

 
[+][-]01.14.2008 at 09:03AM PST, ID: 20654470

Often, when Experts are collaborating with members who have asked questions, they will request additional information about the problem. Askers respond with an author comment like this one.

Start your 30-day free trial to view this Author Comment or ask the Experts your question.

 
 
Loading Advertisement...
20081112-EE-VQP-44 / EE_QW_2_20070628