Problem with JDBC-ODBC bridge
OS in my PC is Windows7 Ultimate(64-bit), and I had JDK1.7.0_21(compatible with my PC), Oracle 10G ExpressEdition(32-Bit), ApacheTomcat7.0.11(compatible with my PC).
As my OS is 64-BIT, I accessed C:\Windows\SysWOW64\odbcad32 and I selected UserDSN tab->Add->Microsoft ODBC for Oracle->finish,tapply->ok. Then a Dialog Box appeared and I entered a DSN name=ramsdsn and my DATABASE USERID=rams in username->ok->apply->ok.
But when I tried to compile my program using:
DriverManager.getConnection("jdbc:odbc:ramsdsn","rams","rams");
I got an error:java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
Help me FRNZ.. I have been trying it for 7 days and I'm tired of it and I could not figured it yet...
THANKS in Advance...
Wrong database is the most likely reason.
Note that the ODBC driver is not a good driver for MS SQL Server. It handles varchar as chars. So an insert of 'A' into a varchar(25) will end up with 'A' followed by 24 spaces. And that probably isn't what you want your varchars to do.
Similar Messages
-
Problem With Jdbc-Odbc BRidge Connection
I get The following error
SQLException:[Microsoft][ODBC Driver Manager] Invalid cursor state
when using the code
whats the problem with it
import java.sql.*;
public class Employee {
String DBurl;
Connection con;
public Employee(String url)
DBurl=url;
void queryTest()
String query="SELECT * FROM EmpTable";
ResultSet result;
Statement stmt;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
catch(java.lang.ClassNotFoundException e){
System.err.println("Class not Found Exception:");
System.err.println(e.getMessage());
try{
con=DriverManager.getConnection(DBurl,"myLogin","mypassword");
stmt=con.createStatement();
result=stmt.executeQuery(query);
System.out.println("ID"+"\t"+"Name"+"\t"+"Rate"+"\t"+"DeptID");
System.out.println("--"+"\t"+"----"+"\t"+"---"+"\t"+"----");
while(result.next());
String name=result.getString("Name");
int ID=result.getInt("ID");
float rate=result.getFloat("Rate");
int deptID=result.getInt("DeptID");
System.out.println(ID+"\t"+name+"\t"+rate+"\t"+deptID);
stmt.close();
con.close();
catch(SQLException ex){
System.err.println("SQLException:" + ex.getMessage());
public static void main(String args[])
Employee app = new Employee("jdbc:odbc:Employee");
app.queryTest();
}here's your mistake:
while(result.next()); // <--- the loop body is empty.Remove the semi-colon.
% -
Oracle RDB Driver fails with JDBC/ODBC Bridge
Has anyone experienced problems using the latest Oracle RDB
Driver (3.0.2.0) with the JDBC/ODBC Bridge.
We have been using the Oracle ODBC Driver for RDB (2.10.17)
successfully on NT, but it is not supported on W2K. The new
drivers work fine for Access etc., but fail with the bridge.
Specifically, you can step thru a result set, but getObject()
returns null for all fields.
Any suggestions?
JoeThis forum is for general suggestions and feedback about the OTN
site. For technical question about an Oracle product, you can
select the appropriate discussion forum in our 'Discussions'
section at: http://forums.oracle.com/forums/homepage.jsp
Best regards, OTN Team -
Newbie: Problem with jdbc-odbc and MS SQL server 2005
I'm on win vistax64 with SQLSERVER 2005 and I have set up the odbc source as system dsn using the SQL Native Client driver with SQL authentication and the connectivity test in the end succeeds.
I'm trying to make a simple web app that will connect to the database and perform simple querries. It's a school assignment.
I'm using the jdbc-odbc bridge because it's the simplest way to do it and it's what we were shown in class.
I get the following irritating error:
"Cannot establish a connection to jdbc:odb:sstmdb using sun.jdbc.odbc.JdbcOdbcDriver ([Microsoft][ODBC Driver Manager] Data source name not found and no default driver specifies)".
I'm working with netbeans 5.5.1 and this error is what I get when in the runtime tab I try to connect with the jdbc-odbc. I get a similar error in the logs when I try to run the app on the j2ee server.
This is the java class that establishes the connection.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Connector {
private static final String dbUrl="jdbc:odbc:sstmdb";
private static final String user="kimon";
private static final String password="jackohara";
public static Connection getConnection(){
Connection conn = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(dbUrl,user,password);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
return conn;
}It has worked perfectly on my school PC with winXP and MSDE2000.
What am I missing?Ok, help came from an other way where I was inquiring about a different problem:
Connectivity works fine by using User DSN instead of System DSN for the ODBC source. -
Problems with JDBC-ODBC Driver
Hello,
I am trying to access a DSN on my windows with a dedicated DB driver of some company. so i used the JDBC-ODBC connector.
when launching the java code, and debugging the problem i get the following error:
DriverManager.getConnection("jdbc:odbc:priority32;UID=Manager;PWD=keren")
trying driver--className=com.mysql.jdbc.Driver,com.mysql.jdbc.Driver@16caf43--
trying driver--className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@66848c--
*Driver.connect (jdbc:odbc:priority32;UID=Manager;PWD=keren)
JDBC to ODBC Bridge: Checking security
No SecurityManager present, assuming trusted application/applet
JDBC to ODBC Bridge 2.0001
Current Date/Time: Tue Aug 12 07:50:37 VET 2008
Loading JdbcOdbc library
Allocating Environment handle (SQLAllocEnv)
hEnv=50338088
Allocating Connection handle (SQLAllocConnect)
hDbc=50338256
Connecting (SQLDriverConnect), hDbc=50338256, szConnStrIn=DSN=priority32;UID=Manager;PWD=keren
*Connection.getMetaData
*DatabaseMetaData.getDriverName
Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=6, len=300
tabula.dll
*DatabaseMetaData.getDriverVersion
Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=7, len=300
07.00.0000
*DatabaseMetaData.getDriverName
Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=6, len=300
tabula.dll
Driver name: JDBC-ODBC Bridge (tabula.dll)
*DatabaseMetaData.getDriverVersion
Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=7, len=300
07.00.0000
Driver version: 2.0001 (07.00.0000)
Caching SQL type information
*Connection.getMetaData
*DatabaseMetaData.getTypeInfo
Allocating Statement Handle (SQLAllocStmt), hDbc=50338256
hStmt=50339424
Get type info (SQLGetTypeInfo), hStmt=50339424, fSqlType=0
Number of result columns (SQLNumResultCols), hStmt=50339424
value=15
Get connection info string (SQLGetInfo), hDbc=50338256, fInfoType=10, len=300
03.52.0000
Fetching (SQLFetch), hStmt=50339424
Column attributes (SQLColAttributes), hStmt=50339424, icol=1, type=2
value (int)=12
Column attributes (SQLColAttributes), hStmt=50339424, icol=1, type=3
value (int)=129
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
CHAR
Get integer data (SQLGetData), hStmt=50339424, column=2
value=12
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
CHAR(1)
Get integer data (SQLGetData), hStmt=50339424, column=2
value=1
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
RCHAR
Get integer data (SQLGetData), hStmt=50339424, column=2
value=12
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
REAL
Get integer data (SQLGetData), hStmt=50339424, column=2
value=6
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
INT
Get integer data (SQLGetData), hStmt=50339424, column=2
value=4
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
UNSIGNED
Get integer data (SQLGetData), hStmt=50339424, column=2
value=4
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
TIME
Get integer data (SQLGetData), hStmt=50339424, column=2
value=10
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
DATE
Get integer data (SQLGetData), hStmt=50339424, column=2
value=11
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
DATE
Get integer data (SQLGetData), hStmt=50339424, column=2
value=9
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
DAY
Get integer data (SQLGetData), hStmt=50339424, column=2
value=4
Fetching (SQLFetch), hStmt=50339424
Get string data (SQLGetData), hStmt=50339424, column=1, maxLen=130
DECIMAL
Get integer data (SQLGetData), hStmt=50339424, column=2
value=3
Get integer data (SQLGetData), hStmt=50339424, column=3
value=0
Fetching (SQLFetch), hStmt=50339424
End of result set (SQL_NO_DATA)
*ResultSet.close
Free statement (SQLFreeStmt), hStmt=50339424, fOption=1
*ResultSet has been closed
Get connection info (SQLGetInfo), hDbc=50338256, fInfoType=44
int value=0
Get connection info (SQLGetInfo), hDbc=50338256, fInfoType=121
RETCODE = -1
ERROR - Generating SQLException...
SQLState(S1096) vendor code(0)
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Information type out of range
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetInfo(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.checkBatchUpdateSupport(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at WigsUpdate.main(WigsUpdate.java:25)
getConnection returning driver--className=sun.jdbc.odbc.JdbcOdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver@66848c--what can be done?
thank you very muchHimberJack wrote:
oh now i understand.
i got a very unknown company which supplied the ODBC driver, but they dont have java driver...
so I have nothing to do about it?The choices are find a different driver or use the one you have.
The one you have doesn't do batches.
Finding a different driver could involve the following.
- Buying one from somewhere else
- Pay someone to write one.
- Write a driver yourself.
All of those are somewhat dependent that the "unknown company" has an API that supports that. You (or someone) could also figure out the file format of the "unknown company" as well and then write one. -
Problem using Jdbc-Odbc Bridge
Hi,
I am using Java 2 SDK and I am trying to access MS Access database on my machine using Jdbc-Odbc bridge. I have set up the DSN in ODBC. But I get the following error when I run my program -
'No Suitable Driver'
Here's my code snippet-
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
String dsn = "jdbc:odbc:DriverInfoDB";
Connection con = DriverManager.getConnection(dsn,"","");
con.setAutoCommit(false);
Statement stmt;
String query = null; // SQL select string
ResultSet rs; // SQL query results
stmt = con.createStatement();
.....etc etc...
Where is the error in this code??
Help Needed!!
Thanks
Vivek.try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(dsn,"guest","guest");
OR DriverManager.getConnection(dsn);
System.out.println("Conection's opened");
catch(ClassNotFoundException cnfe)
System.err.println(cnfe);
catch(SQLException sqle)
System.err.println(sqle);
try that code and double check you DSN Name . it's a good practice to greate a system DSN.
i hope that helps.
FEEL FREE TO ASK. WON'T BITE U
ABDUL -
Problem with jdbc:odbc returning incorrect number of rows.
Hello,
Am sure i have done something stupid, but i have an issue with jdbc:odbc ....
It is a simple sceanrio that i have coded umpteen times before ...
I have the following ....
1. Connection to DB2 on an IBM i5 (I apologise for not using native drivers from jt400.jar, but i had an ODBC code example and was in a rush - no excuse i know)
2. Statement object created from connection above
3. A string with my SQL in it
4. A result set for the results.
These are created as follows:
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(ODBCSource, userID, password);
if (con == null) {
// error handling not relevant here
} else {
Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String SQL = "select * from table";
ResultSet rs = s.executeQuery(SQL);
i then try to loop ....
while (rs.next() )
// stuff
however, i only ever get one result .... if i stick in the check for isLast, the first loop hits this check, i get my little status message, and the loop ends.
while (rs.next() )
if (rs.isLast() )
System.out.println("I am on last record");
BUT if i run the SQL
"select count(*) from table" ... i get a count of 148 !!
I tried setting the FetchSize through setFetchSize(), but made no difference.
This is running on a JBoss server 4.2.1GA, JDK is "jdk1.6.0_02" .... i have a suspicion that this may be a JBoss specfic issue, as this exact code runs just fine on the Domino platform that it was originally on, if this is the case, i apologise for wasting everyones time .... but would still appreciate any pointers you can give me.
CheersHello,
Thanks for the reply, I am not sure i follow what you are saying.
I only mentioned JBoss as it is the application server that we have deployed to and because the orignal code ran fine on a Domino server, I will take your advice and try to run it through in debug rather than running actually on the application server.
Am i incorrect in my assumption that if "select count(*) from table" gives a count of 148, i should expect 148 records in a result set created from "select * from table" ? This is all rather new to me so i apologise if this is incorrect, I'd love to know why this is incorrect so i dont make similar mistakes in future.
Also, If i run this same code on the previous platform, i get 148 iterations of the code contained within
while (rs.next() ) { ... }
When the war file is deployed to JBoss, the same SQL statement gives a result set that only iterates once for
while (rs.next() ) { ... }
The previous platform as I say was domino, but it was running as a lotus notes java agent (despite not using any notes documents etc) as it happened to be where the web pages that call this process were located. It is possible that some of the main code has changed as I had cut and paste the code into a servlet using MyEclipse, but i have double checked the bit that does this SQL request and it is identical
To complete the picture, the new servelt is then called from the action tag on the submit form on a JSP, when it ends the servlet redirects via the requestdispacher to success or failure jsp pages depending on the outcome of the processing.
Thank you again for your help. -
Ms Access problems with Jdbc Odbc!!!
Hi again people,
Im creating a GUI swing project connecting a database (MsAccess) to a dialog using the bridge driver,
The GUI is coming up but im getting runtime errors and the data does not go to the fields, the dialog and connection are in two files:
import java.awt.*;
import java.awt.event.*;
import java.sql.*; //SQL package for the statements
import javax.swing.*;
class DatabaseMan
public ResultSet m_resultSet; //recordset resulting from SQL query
public ResultSetMetaData m_rsmd; //used to get general info about the columns
private int m_nNumberOfFields; //number of fields in a recordset
private Connection conn;
private Statement stmt;
public DatabaseMan(String strSQLQuery)
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
try //establish connection to the database
//try to get connection to the database
conn = DriverManager.getConnection("jdbc:odbc:db1");
//this is not where we update the database so we make it read only
stmt = conn.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
m_resultSet = stmt.executeQuery(strSQLQuery);
catch(SQLException exSQL)
System.err.println("\n\n\t\t ***SQLException has" +
"been caught ***\n\n");
while ( exSQL != null)
System.err.println("\nSQLState : " + exSQL.getSQLState() );
System.err.println("\nMessage : " + exSQL.getMessage() );
System.err.println("\nVendor code : "+ exSQL.getErrorCode() );
System.err.println("\n");
exSQL = exSQL.getNextException();
catch( ClassNotFoundException e)
System.err.print("\n\n\tClassNotFoundException has"
+" been caught");
System.err.println( e.getMessage());
catch( java.lang.Exception ex )
ex.printStackTrace();
public void CloseConnection() //close connection to database
try
conn.close();
stmt.close();
m_resultSet.close(); //release the resources
catch (SQLException exSQL )
System.out.println("SQL Exception: " + exSQL.getMessage());
exSQL.printStackTrace(System.out);
public int getNoFields()
return m_nNumberOfFields;
} //end of DatabaseMan.java
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import DatabaseMan;
import javax.swing.*;
class DBviewer extends JDialog implements ActionListener
//JButtons to create toolbar
private JButton m_buttonFirst;
private JButton m_buttonNext;
private JButton m_buttonPrevious;
private JButton m_buttonLast;
private JButton m_buttonClose;
private JButton m_mainbuttonClose;
//textfields to transfer the data from database
private JTextField m_name;
private JTextField m_age;
private JTextField m_weight;
private JTextField m_professionalism;
private JTextField m_speed;
private JTextField m_acceleration;
private JTextField m_jump;
private JTextField m_stamina;
private JTextField m_bravery;
private JTextField m_fitness;
private JTextField m_experience;
//labels to identify the textfields
private JLabel m_labelname;
private JLabel m_labelage;
private JLabel m_labelweight;
private JLabel m_labelspeed;
private JLabel m_labelacceleration;
private JLabel m_labelprofessionalism;
private JLabel m_labeljump;
private JLabel m_labelstamina;
private JLabel m_labelbravery;
private JLabel m_labelfitness;
private JLabel m_labelexperience;
DatabaseMan m_DatabaseMan;
private String strSQLQuery1;
private String type1 = new String("");
public DBviewer(Frame parent, String caption, boolean bModal, String type)
super(parent,caption,true);
setSize(600,400);
setLocation( new Point(150 , 150 )); //position it pops up on screen.
setResizable(false);
strSQLQuery1 = new String("");
type1 = type;
//SQL query to show the horse database
if(type =="Horse")
strSQLQuery1 ="SELECT *" +
"FROM HORSE";
buildHorseGUI();
if(type =="Jockey")
strSQLQuery1 ="SELECT *" +
"FROM JOCKEY"+
" ORDER BY NAME";
buildJockeyGUI();
if(type =="Course")
strSQLQuery1 ="SELECT *" +
"FROM RACECOURSE"+
" ORDER BY NAME";
buildCourseGUI();
m_DatabaseMan = new DatabaseMan(strSQLQuery1);
/*try
{//reset values with default move up to top later
if(m_DatabaseMan.m_resultSet.first())
transferData(type1);
catch( SQLException exSQL)
System.out.println("SQL Exception: " + exSQL.getMessage());
exSQL.printStackTrace(System.out);
public void buildHorseGUI() //construct the horse GUI
buildDefaultGUI(); //build default buttons and toolbar
m_labelname = new JLabel(" Horse Name:",JLabel.CENTER);
m_labelname.setBackground(Color.blue);
m_labelname.setForeground(Color.white);
m_labelage = new JLabel("Age: ",JLabel.CENTER);
m_labelage.setBackground(Color.blue);
m_labelage.setForeground(Color.white);
m_labelweight = new JLabel("Weight(p): ",JLabel.CENTER);
m_labelweight.setBackground(Color.blue);
m_labelweight.setForeground(Color.white);
m_labelspeed = new JLabel("Speed:",JLabel.CENTER);
m_labelspeed.setBackground(Color.blue);
m_labelspeed.setForeground(Color.white);
m_labelacceleration = new JLabel("Acceleration:",JLabel.CENTER);
m_labelacceleration.setBackground(Color.blue);
m_labelacceleration.setForeground(Color.white);
m_labelprofessionalism = new JLabel("Professionalism:",JLabel.CENTER);
m_labelprofessionalism.setBackground(Color.blue);
m_labelprofessionalism.setForeground(Color.white);
m_labeljump = new JLabel("Jump:",JLabel.CENTER);
m_labeljump.setBackground(Color.blue);
m_labeljump.setForeground(Color.white);
m_labelstamina = new JLabel("Stamina:",JLabel.CENTER);
m_labelstamina.setBackground(Color.blue);
m_labelstamina.setForeground(Color.white);
m_labelbravery = new JLabel("Bravery:",JLabel.CENTER);
m_labelbravery.setBackground(Color.blue);
m_labelbravery.setForeground(Color.white);
m_labelfitness = new JLabel("Fitness:",JLabel.CENTER);
m_labelfitness.setBackground(Color.blue);
m_labelfitness.setForeground(Color.white);
m_labelexperience = new JLabel("Experience",JLabel.CENTER);
m_labelexperience.setBackground(Color.blue);
m_labelexperience.setForeground(Color.white);
//creation of textfields to hold the data
//making them non-editable and b/ground of black with white text
m_name = new JTextField(20);
m_name.setEditable(false);
m_name.setBackground(Color.black);
m_name.setForeground(Color.white);
m_age = new JTextField(2);
m_age.setEditable(false);
m_age.setBackground(Color.black);
m_age.setForeground(Color.white);
m_weight = new JTextField(3);
m_weight.setEditable(false);
m_weight.setBackground(Color.black);
m_weight.setForeground(Color.white);
m_speed = new JTextField(2);
m_speed.setEditable(false);
m_speed.setBackground(Color.black);
m_speed.setForeground(Color.white);
m_acceleration = new JTextField(2);
m_acceleration.setEditable(false);
m_acceleration.setBackground(Color.black);
m_acceleration.setForeground(Color.white);
m_professionalism = new JTextField(2);
m_professionalism.setEditable(false);
m_professionalism.setBackground(Color.black);
m_professionalism.setForeground(Color.white);
m_jump = new JTextField(2);
m_jump.setEditable(false);
m_jump.setBackground(Color.black);
m_jump.setForeground(Color.white);
m_stamina = new JTextField(2);
m_stamina.setEditable(false);
m_stamina.setBackground(Color.black);
m_stamina.setForeground(Color.white);
m_bravery = new JTextField(2);
m_bravery.setEditable(false);
m_bravery.setBackground(Color.black);
m_bravery.setForeground(Color.white);
m_fitness = new JTextField(2);
m_fitness.setEditable(false);
m_fitness.setBackground(Color.black);
m_fitness.setForeground(Color.white);
m_experience = new JTextField(2);
m_experience.setEditable(false);
m_experience.setBackground(Color.black);
m_experience.setForeground(Color.white);
//create a panel to hold this data
Panel data = new Panel();
data.setLayout(new GridLayout(0,4));
data.setBackground(Color.blue);
data.add(m_labelname);
data.add(m_name);
data.add(m_labelage);
data.add(m_age);
data.add(m_labelweight);
data.add(m_weight);
data.add(m_labelspeed);
data.add(m_speed);
data.add(m_labelacceleration);
data.add(m_acceleration);
data.add(m_labelprofessionalism);
data.add(m_professionalism);
data.add(m_labeljump);
data.add(m_jump);
data.add(m_labelstamina);
data.add(m_stamina);
data.add(m_labelbravery);
data.add(m_bravery);
data.add(m_labelfitness);
data.add(m_fitness);
data.add(m_labelexperience);
data.add(m_experience);
getContentPane().add(data, BorderLayout.CENTER);
public void buildDefaultGUI() //construct the default components for GUI
JToolBar wndToolBar = new JToolBar();
wndToolBar.setBackground(Color.green);
wndToolBar.setFloatable(false);
m_buttonFirst = new JButton( new ImageIcon( "graphic/myFirst.gif" ) );
m_buttonPrevious = new JButton(new ImageIcon( "graphic/myPrevious.gif" ) );
m_buttonNext = new JButton(new ImageIcon( "graphic/myNext.gif" ) );
m_buttonLast = new JButton(new ImageIcon( "graphic/myLast.gif" ) );
m_buttonClose = new JButton(new ImageIcon( "graphic/myClose.gif" ) );
m_mainbuttonClose = new JButton("CLOSE");
// implement action listener
m_buttonFirst.addActionListener(this);
m_buttonPrevious.addActionListener(this);
m_buttonNext.addActionListener(this);
m_buttonLast.addActionListener(this);
m_buttonClose.addActionListener(this);
m_mainbuttonClose.addActionListener(this);
//set the tool tips for each of the button
m_buttonFirst.setToolTipText( "Display first record" );
m_buttonPrevious.setToolTipText( "Display previous record" );
m_buttonNext.setToolTipText( "Display next record" );
m_buttonLast.setToolTipText( "Display last record" );
m_buttonClose.setToolTipText( "Close this window and return to game" );
m_mainbuttonClose.setToolTipText( "Close this window and return to game" );
m_mainbuttonClose.setBackground(Color.green);
//add these buttons to the toolbar
wndToolBar.add( m_buttonFirst );
wndToolBar.add( m_buttonPrevious );
wndToolBar.add( m_buttonNext );
wndToolBar.add( m_buttonLast );
wndToolBar.addSeparator(); //separator in the toolbar
wndToolBar.add( m_buttonClose );
getContentPane().add(wndToolBar, BorderLayout.NORTH);
getContentPane().add(m_mainbuttonClose, BorderLayout.SOUTH);
public void buildCourseGUI() //construct the course GUI
buildDefaultGUI();
public void buildJockeyGUI() //construct the jockey GUI
buildDefaultGUI();
public void actionPerformed( ActionEvent evt)
//button first record is pressed
if( evt.getSource() == m_buttonFirst )
try
if( m_DatabaseMan.m_resultSet.first() )
transferData(type1);
catch (SQLException exSQL )
System.err.println( exSQL.toString() );
//button next record is pressed
if( evt.getSource() == m_buttonNext )
try
if(!m_DatabaseMan.m_resultSet.isLast())
if(m_DatabaseMan.m_resultSet.next())
transferData(type1);
catch (SQLException exSQL )
System.err.println( exSQL.toString() );
//previous button is pressed
if( evt.getSource() == m_buttonPrevious )
try
if( !m_DatabaseMan.m_resultSet.first())
if(m_DatabaseMan.m_resultSet.previous())
transferData(type1);
catch (SQLException exSQL )
System.err.println( exSQL.toString() );
//last button is pressed
if( evt.getSource() == m_buttonLast )
try
if(m_DatabaseMan.m_resultSet.last())
transferData(type1);
catch (SQLException exSQL )
System.err.println( exSQL.toString() );
// close button(s) pressed
if( evt.getSource() == m_buttonClose)
setVisible( false );
dispose(); //return the dialog window resources
m_DatabaseMan.CloseConnection();
if( evt.getSource() == m_mainbuttonClose)
setVisible( false );
dispose(); //return the dialog window resources
m_DatabaseMan.CloseConnection();
public void transferData(String type1) throws SQLException //return a String
if(type1 =="Horse")
//transfer horse details
m_name.setText(m_DatabaseMan.m_resultSet.getString("NAME"));
m_professionalism.setText(m_DatabaseMan.m_resultSet.getString("PROFESSIONALISM"));
m_speed.setText(m_DatabaseMan.m_resultSet.getString("SPEED"));
m_stamina.setText(m_DatabaseMan.m_resultSet.getString("STAMINA"));
m_weight.setText(m_DatabaseMan.m_resultSet.getString("WEIGHT"));
m_experience.setText(m_DatabaseMan.m_resultSet.getString("EXPERIENCE"));
m_fitness.setText(m_DatabaseMan.m_resultSet.getString("FITNESS"));
m_jump.setText(m_DatabaseMan.m_resultSet.getString("JUMP"));
m_age.setText(m_DatabaseMan.m_resultSet.getString("AGE"));
m_bravery.setText(m_DatabaseMan.m_resultSet.getString("BRAVERY"));
m_acceleration.setText(m_DatabaseMan.m_resultSet.getString("ACCELERATION"));
if(type1 =="Jockey")
m_name.setText(m_DatabaseMan.m_resultSet.getString("NAME"));
m_age.setText(m_DatabaseMan.m_resultSet.getString("AGE"));
if(type1 =="Course")
//transfer course details not implemented yet
} //end of class DBviewer
I ve set up an odbc driver and the database has data in it but I still get this run time error an no data is transfered to the dialog box
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1525)
at sun.jdbc.odbc.JdbcOdbcResultSet.reWordAsCountQuery(JdbcOdbcResultSet.java:6268)
at sun.jdbc.odbc.JdbcOdbcResultSet.calculateRowCount(JdbcOdbcResultSet.java:6061)
at sun.jdbc.odbc.JdbcOdbcResultSet.initialize(JdbcOdbcResultSet.java:150)
at sun.jdbc.odbc.JdbcOdbcStatement.getResultSet(JdbcOdbcStatement.java:420)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:250)
at DatabaseMan.<init>(DatabaseMan.java:34)
at DBviewer.<init>(DBviewer.java:83)
at MainWindow.actionPerformed(MainWindow.java:266)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
at java.awt.Component.processMouseEvent(Component.java:3715)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:914)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)
Im really stuck!!! any suggestions? thanks in advanceThank you for your response and sorry for the length
of code,
Thats was my first idea that it was asking for
or something I dont have but I checked my database and
I dont have any unusually large data entries (most
between 8-15 letters, the others are numbers) could it
be something wrong with how I've entered the database
in MsAccess, or am i barking up the wrong tree again!
Many thanks
RobI think you've misunderstood me. This has nothing to do with unusually large data entries, but rather the opposite. You are wrongly expecting data that is shorter than you think. When you call rs.getString(i) to retrieve a column value of a field, and you only want the first 5 characters in the column (instead of 10 or whatever the column size is), you would do something similar to the following:
String column_value = rs.getString(1).subtstring(0,5);The above expects a String that is at least 5 characters. Your problem is when your column value returned is less than the specified substring index ( in this case 5 ) it will throw an exception. If you changed your code to this, the error will not occur:
String column_value = rs.getString( 1 ).subtstring( 0, 5);
if ( column_value.length() > 5 )
column_value = column_value.substring( 0, 5 );
}Jamie -
Problem with JDBC ODBC connectivity
I am trying to connect to MS access database with jsp page. This is sample from my js page :
String SUN_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(SUN_DRIVER);
String aDataSourceName = "puneet";
String url = "jdbc:odbc:" + aDataSourceName;
Connection con;
con = DriverManager.getConnection("jdbc:odbc:puneet","","");
The last line gives me the follwoing error :
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
puneet is name of my datasource and it points to my .mbd file.
I dont have anyusername or passwords for this daatsource.
I am using Tomcat/4.1.18-LE and jdk1.4
I have also added rt.jar in the classpath
pls help
pg4Hi pg4,
May be your dsn is not pointing to .mdb file. Check it by putting your mdb file right where your code is and then user following syntax which is called dsn-less connection. It helps you to connect to the target mdb file with out any need of dsn.
String url = "jdbc:odbc:;Driver={Microsoft Access Driver (*.mdb)}; DBQ=yourDBFile.mdb";
regards,
Humayun -
JDBC ODBC bridge (JDK 1.4) exception in native code
I am using jdk 1.4 on windows 98. I have written this simple java program which uses jdbc odbc bridge to connect to an MS Access 2000 db.
An exception in native code is thrown only when I use createStatement with scrollable resultset. If I use createStatement() with default forward only resultset type, then program works.
import java.sql.*;
public class Select
public static void main(String[] args)
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:shopping");
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
String query = "SELECT * from products";
ResultSet rs = stmt.executeQuery(query);
while (rs.next())
String s = rs.getString("name");
float n = rs.getFloat("price");
System.out.println(s + " " + n);
catch (ClassNotFoundException e)
System.out.println("Class Not Found: " + e.getMessage());
catch (SQLException e)
System.out.println("SQL Exception: " + e.getMessage());
The program produces this error with scrollable resultset:
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6D366658
Function=[Unknown.]
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at sun.jdbc.odbc.JdbcOdbc.setStmtAttrPtr(Native Method)
at sun.jdbc.odbc.JdbcOdbc.SQLSetStmtAttrPtr(JdbcOdbc.java:4676)
at sun.jdbc.odbc.JdbcOdbcResultSet.setRowStatusPtr(JdbcOdbcResultSet.java:4473)
at sun.jdbc.odbc.JdbcOdbcResultSet.initialize(JdbcOdbcResultSet.java:171)
at sun.jdbc.odbc.JdbcOdbcStatement.getResultSet(JdbcOdbcStatement.java:423)
- locked <02C74480> (a sun.jdbc.odbc.JdbcOdbcStatement)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at Select.main(Select.java:13)
Dynamic libraries:
0x7CC00000 - 0x7CC1D000 D:\WINDOWS\SYSTEM\IMAGEHLP.DLL
Local Time = Mon Jan 20 00:16:15 2003
Elapsed Time = 7
# The exception above was detected in native code outside the VM
# Java VM: Java HotSpot(TM) Client VM (1.4.0_01-b03 mixed mode)
# An error report file has been saved as hs_err_pid4294751525.log.
# Please refer to the file for further information.
Is there any problem with jdbc odbc bridge driver?No. This is not a bug. Not all databases support (or have to support) all types of resultsets. It is your responsibility to ensure that a particular resultset is supported before you use it. That said, one would definitely expect a more descriptive error message in case of inadvertant use.
-
JDBC-ODBC Bridge with iAS on UNIX
Can the Sun JDBC-ODBC bridge be used with iAS on UNIX (Solaris)? If possible, can someone share the basic steps. For example, what parameters to enter when configuring the bridge as a datasource and also how to pass needed environment variables (LD_LIBRARY_PATH has to have the path of the ODBC driver manager).
I need to connect to a ODBC driver on UNIX, no JDBC driver is available for this data source, nor is a Windows solution acceptable.
I have iAS 6.0 SP3 with iWS 4.1 SP9 on Solaris 8.Hi,
I'm not sure if there is a free download available, but you can find some help by visiting the following URL http://www.dbmaker.com/Header/Frame_Forum.htm
For the exact steps, I think this would be more helpful http://www.dbmaker.com/reference/technotes/jdbc.html
Please let me know if this helps.
Regards
Raj -
JDBC-ODBC Bridge with iAS on Solaris
Is there any way to use the Sun JDBC-ODBC bridge with the iPlanet
Application Server running on UNIX (Solaris)? If it is possible, can
someone who has done it share the basic steps. For example, I cannot
figure out what parameters to enter when configuring the bridge as a
datasource and also how to pass certain environment variables (eg the
LD_LIBRARY_PATH which points to the ODBC driver manager).
It seems that on Windows iAS has ODBC as a Type 2 JDBC data source (at
least the manuals have screenshots with ODBC nodes). However I need to
have iAS running on Solaris (and connecting to a proprietary ODBC
driver; no JDBC driver is available for this data source).
I have iAS 6.0 SP3 with iWS 4.1 SP9 on Solaris 8.
TIA!
George
P.S. Apologies if this is a frequently asked question, but I could not
find archives of the iplanet.ias.* groups. I wish Google would carry
them...Hi,
I'm not sure if there is a free download available, but you can find some help by visiting the following URL http://www.dbmaker.com/Header/Frame_Forum.htm
For the exact steps, I think this would be more helpful http://www.dbmaker.com/reference/technotes/jdbc.html
Please let me know if this helps.
Regards
Raj -
Hello,
I'm using JDK1.5 and have a working connection to MySQL using JDBC. I now need to connect to Interbase database using ODBC and that's where I'm completely lost.
Could somebody please tell me if I have to download a JDBC-ODBC bridge or if it's already in the package? Can JDBC-ODBC communicate with InterBase?
Please help.
Thank you,
Victor.Uf you want the password stored in the ODBC DSN, you'll need to go through the back door. This isn't something Oracle makes easy because it has horrible security implications-- the password will be stroed in the registry in plain text.
If you add a key "Password" with the value of your password to the registry where your DSN is, the ODBC driver will use that value to connect to the database. I don't recall the exact heirarchchy riht now, but a registry search for the name of your DSN ought to find it pretty quickly. As always, playing with your registry isn't recommended and may cause problems if you don't do it correctly.
Justin -
I'm developing an application using EJBs in a development environment with Sun Application Server, Sql Server and NetBeans IDE 4.1. I'm using entity beans and session beans in my application. But, when I try to connect to database using a Servlet or JSP with the session beans, the connection with database could not be established. This is my problem!!!
First, you probably shouldn't use the JDBC/ODBC bridge. Any serious and many non-serious databases have real drivers. Is there anything but Access that really needs the bridge...? Use the jTds driver (google for it). Or just last week Microsoft beta'ed a new JDBC driver for MSSQL; no idea how good it is. Some smalltalk on that: http://www.theserverside.com/news/thread.tss?thread_id=35063
Second, what error do you get?
If it is "connection refused", here is my standard first aid check list:
- Check host name in connect string.
- Check port number in connect string.
- Try numeric IP address of server host in connect string, in case name server is hosed.
- Are there any firewalls between client and server blocking the port.
- Check that the db server is running.
- Check that the db server is listening to the port. On the server, try: "telnet localhost the-port-number". Or "netstat -an", there should be a listening entry for the port.
- Try "telnet serverhost the-port-number" from the client, to see if firewalls are blocking it.
- If "telnet" fails: try it with the numeric ip address.
- If "telnet" fails: does it fail immediately or after an obvious timeout? How long is the timeout?
- Does the server respond to "ping serverhost" or "telnet serverhost" or "ssh serverhost"? -
JDBC-ODBC Bridge seems to slow down after a while
Hi,
I've got a weird problem going on with an application I'm writing. I hope someone can tell me what I'm doing wrong.
The problem I'm encountering is in he code shown below. The function getAllGamesForATeam is creating a list of items in an ArrayList and passing it back to an Event handler so that I can put it in the session of a servlet. The first time I run this code, it is fast. Fast enough to use on a servlet. The second time it runs, it is MUCH slower...too slow to use on a servlet. The third time it runs, it gets even worse.
I am using the JDBC-ODBC bridge to access my database which is in Access 97. I do have connection pooling enabled on the database. Still it is slow.
If you have any ideas, I would appreciate it. Here's the code:
// GameBean.java
// A class to represent a Game in my College Hockey Program
// Based on Team and League tables.
package MyBeans;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.http.*;
* <p>This is the Java bean used to get and display information about
* items for sale in our web based store.
* @version 1.0.0 08/13/2001
* @author Kevin Yetman
* @see DBBeanBase
public class GameBean extends DBBeanBase
* <p>Default constructor, creates an empty {@link GameBean}.
public GameBean()
super();
* <p>Copy constructor. This constructor creates a {@link GameBean} object
* that is initially populated with a copy of the {@link java.util.Map} specified
* as a parameter to this constructor. All {@link java.util.Map} Maps should
* implement a copy constructor.
* @param copyThisMap the {@link Map} used to initialize this {@link GameBean} object.
public GameBean(Map copyThisMap)
super(copyThisMap);
* <p>This constructor creates an {@link GameBean} object and
* populates it with the fields in a {@link java.sql.ResultSet}.
* @param rs The {@link java.sql.ResultSet} object used to populate
* this class with information about an item.
* @throws java.sql.SQLException if there is an error iterating the
* {@link java.sql.ResultSet}.
protected GameBean(ResultSet rs) throws SQLException
super(rs);
* <p>This constructor creates an {@link GameBean} object associated with the
* specified item id. If there is no record in the data source with the
* specified item id, an exception is thrown.
* @param conneciton The {@link java.sql.Connection} object used to execute
* the select statement that will retrieve the item information.
* @param iLeagueId specifies the league id used to populate this object.
* @throws java.sql.SQLException if there is an error selecting the item
* information.
* @throws java.lang.Exception if the item id is invalid.
public GameBean(Connection connection, int iGameId) throws SQLException, Exception
super();
String strSQL="SELECT GameIndex, Month, Day, Year, HomeTeamIndex, VisitorTeamIndex, HomeTeamScoredFirst, LeagueGame, NeutralSiteGame, PlayoffGame, HomeTeamGoals, VisitorTeamGoals FROM Game WHERE GameIndex=" + iGameId;
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(strSQL);
if (rs.next())
populateFromResultSet(rs);
else
throw new Exception("Invalid game Id: " + iGameId);
putInTeamNames(connection);
* <p>This method returns the league's index.
* @return the league's index.
public void putInTeamNames(Connection connection)
throws SQLException
String strSQL="SELECT TeamName FROM Team WHERE TeamIndex=" + getHomeTeamIndex();
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(strSQL);
if( rs.next() )
put("HOMETEAMNAME", rs.getString("TeamName"));
strSQL="SELECT TeamName FROM Team WHERE TeamIndex=" + getVisitorTeamIndex();
rs=statement.executeQuery(strSQL);
if( rs.next() )
put("VISITORTEAMNAME", rs.getString("TeamName"));
* <p>This method returns the league's index.
* @return the league's index.
public String getGameIndex()
return get("GAMEINDEX").toString();
* <p>This method returns the name of the league.
* @return the name of the league.
public String getMonth()
return get("MONTH").toString();
* <p>This method returns the name of the league.
* @return the name of the league.
public String getDay()
return get("DAY").toString();
* <p>This method returns the name of the league.
* @return the name of the league.
public String getYear()
return get("YEAR").toString();
* <p>This method returns the name of the league.
* @return the name of the league.
public String getHomeTeamName()
return get("HOMETEAMNAME").toString();
* <p>This method returns the league's nickname.
* @return the league's nickname.
public String getVisitorTeamName()
return get("VISITORTEAMNAME").toString();
* <p>This method returns the name of the league.
* @return the name of the league.
public String getHomeTeamIndex()
return get("HOMETEAMINDEX").toString();
* <p>This method returns the league's nickname.
* @return the league's nickname.
public String getVisitorTeamIndex()
return get("VISITORTEAMINDEX").toString();
* <p>This method returns the league's nickname.
* @return the league's nickname.
public String getLeagueGame()
return get("LEAGUEGAME").toString();
* <p>This method returns the league's nickname.
* @return the league's nickname.
public String getNeutralSiteGame()
return get("NEUTRALSITEGAME").toString();
* <p>This method returns the league's nickname.
* @return the league's nickname.
public String getPlayoffGame()
return get("PLAYOFFGAME").toString();
* <p>This method returns the league's nickname.
* @return the league's nickname.
public String getHomeTeamScoredFirst()
return get("HOMETEAMSCOREDFIRST").toString();
* <p>This method returns the league's nickname.
* @return the league's nickname.
public String getHomeTeamGoals()
return get("HOMETEAMGOALS").toString();
* <p>This method returns the league's automatic bids.
* @return the league's automatic bids.
public String getVisitorTeamGoals()
return get("VISITORTEAMGOALS").toString();
* <p>This method returns a textual representation of this {@link ItemBean}.
* @return a textual representation of this {@link ItemBean}.
public String toString()
StringBuffer sb=new StringBuffer();
sb.append("GameIndex: " + getGameIndex() + "\n");
sb.append("HomeTeamScoredFirst: " + getHomeTeamScoredFirst() + "\n");
sb.append("PlayoffGame: " + getPlayoffGame() + "\n");
sb.append("LeagueGame: " + getLeagueGame() + "\n");
sb.append("NeutralSiteGame: " + getNeutralSiteGame() + "\n");
sb.append("HomeTeamIndex: " + getHomeTeamIndex() + "\n");
sb.append("VisitorTeamIndex: " + getVisitorTeamIndex() + "\n");
sb.append("HomeTeamName: " + getHomeTeamName() + "\n");
sb.append("VisitorTeamName: " + getVisitorTeamName() + "\n");
sb.append("Month: " + getMonth() + "\n");
sb.append("Day: " + getDay() + "\n");
sb.append("Year: " + getYear() + "\n");
return sb.toString();
* <p>This method returns a {@link java.util.Collection} of all of the teams
* in the data source.
* @param connection The {@link java.sql.Connection} object used to execute
* the select statement that will retrieve the teams.
* @return a {@link java.util.Collection} of all of the teams in the data source.
* @throws java.sql.SQLException if there is an error selecting the items.
public static Collection getAllGames(Connection connection) throws SQLException
Collection col=new ArrayList(1100);
String strSQL = "SELECT GameIndex, Month, Day, Year, HomeTeamIndex, VisitorTeamIndex, HomeTeamScoredFirst, LeagueGame, NeutralSiteGame, PlayoffGame, HomeTeamGoals, VisitorTeamGoals FROM Game";
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(strSQL);
while(rs.next())
GameBean currentGame=new GameBean(rs);
currentGame.putInTeamNames(connection);
col.add(currentGame);
return col;
* <p>This method returns a {@link java.util.Collection} of all of the teams
* in the data source.
* @param connection The {@link java.sql.Connection} object used to execute
* the select statement that will retrieve the teams.
* @return a {@link java.util.Collection} of all of the teams in the data source.
* @throws java.sql.SQLException if there is an error selecting the items.
public static Collection getAllGamesForALeague(Connection connection, String leagueNickName) throws SQLException
Collection col=new ArrayList(500);
String strSQL = "SELECT LeagueIndex FROM League WHERE LeagueNickName='" + leagueNickName + "'";
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(strSQL);
int leagueIndex=-1;
if( rs.next() )
leagueIndex=rs.getInt("LeagueIndex");
strSQL = "SELECT GameIndex, Month, Day, Year, HomeTeamIndex, VisitorTeamIndex, HomeTeamScoredFirst, LeagueGame, NeutralSiteGame, PlayoffGame, HomeTeamGoals, VisitorTeamGoals FROM Game";
strSQL+=" WHERE (HomeTeamIndex IN (SELECT TeamIndex FROM Team WHERE LeagueIndex=" + leagueIndex + ")) OR";
strSQL+=" (VisitorTeamIndex IN (SELECT TeamIndex FROM Team WHERE LeagueIndex=" + leagueIndex + "))";
strSQL+=" ORDER BY Year, Month, Day";
statement = connection.createStatement();
rs = statement.executeQuery(strSQL);
while(rs.next())
GameBean currentGame=new GameBean(rs);
currentGame.putInTeamNames(connection);
System.out.println(currentGame.getGameIndex());
col.add(currentGame);
return col;
* <p>This method returns a {@link java.util.Collection} of all of the teams
* in the data source.
* @param connection The {@link java.sql.Connection} object used to execute
* the select statement that will retrieve the teams.
* @return a {@link java.util.Collection} of all of the teams in the data source.
* @throws java.sql.SQLException if there is an error selecting the items.
public static Collection getAllGamesForATeam(Connection connection, String teamName)
throws SQLException
Collection col=new ArrayList(50);
String strSQL = "SELECT TeamIndex FROM Team WHERE TeamName='" + teamName + "'";
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery(strSQL);
int teamIndex=-1;
if( rs.next() )
teamIndex=rs.getInt("TeamIndex");
strSQL = "SELECT GameIndex, Month, Day, Year, HomeTeamIndex, VisitorTeamIndex, HomeTeamScoredFirst, LeagueGame, NeutralSiteGame, PlayoffGame, HomeTeamGoals, VisitorTeamGoals FROM Game";
strSQL+=" WHERE (HomeTeamIndex=" + teamIndex + ") OR";
strSQL+=" (VisitorTeamIndex=" + teamIndex + ")";
strSQL+=" ORDER BY Year, Month, Day";
statement = connection.createStatement();
rs = statement.executeQuery(strSQL);
while(rs.next())
GameBean currentGame=new GameBean(rs);
currentGame.putInTeamNames(connection);
col.add(currentGame);
return col;
// The unit test method public static void main(String[] args)
// has been moved to ..\TestPrograms\TestItemBean.java so that this
// class can be used in the package MyBeans.
/////////////////////////////////// END OF FILE //////////////////////////////Where do you close the ResultSet?
Where do you close the Statement?
Presumably you only create one connection for all users or you close it somewhere.
Maybe you are looking for
-
How do I set up an email Group?
I have made a group called "Accounts" and a different group called "Sales" each with a different set of members. But when I try to send an email to [email protected] it is not recognised y the serveer as a valid email address. I can't find where to e
-
Hi, I�m trying to add Codec to an processor because I want convert MP3 to WAV. When y obtain PlugInManager.getPlugInList (with type=4) only obtain com.ibm.media.codec.audio.ACMCodec. After make processor.realize(), I inspect the processor CodecChain
-
GR non-valuated indicator controlled by the Account Assignment Category
Dear Gurus, In standard customizing, is it possible to do a configuration so that the GR non-valuated indicator in the PO is controlled by the Account Assignment Category. For example: 1. For Acct Assignment Category = A (Asset), the GR non-valuated
-
hi over there, I just bought curve 9220 and started using it with wifi at home, unfortuantely it keeps saying "not able to connect to network" or " Failed to get an IP address". Can anyone give me the solution to this pllzzzzzzzzzzzzzzzzz
-
ESX24 Saves changes to my instruments in Editor - When choosing DONT SAVE
The header pretty much says it all... I do editing in an instrument via the editor - when clicking in the "close" button of the editor I am presented with a dialog that asks me to whether save of dont save or cancel... I choose DONT SAVE on 3 differe