Solved

Trying to talk to a MS Access database with Java

Posted on 2004-04-14
20
296 Views
Last Modified: 2010-03-31
I'm trying to talk to MS Access database using Java, but not having any luck.  I'm still pretty new to java.  The code compiles fine, but throws the following error:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)


Here's how my code is setup below:
try
{
      String url = "jdbc:odbc://localhost/InternetPanel:8080/InternetPanelDB.mdb";

      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

      dbconn = DriverManager.getConnection( url, "Admin", "" );

      stmt = dbconn.createStatement();
      rs = stmt.executeQuery( "SELECT SerialNumber FROM tblMainPanelList" );
            }
            catch ( ClassNotFoundException cnfex )
            {
                  // process ClassNotFoundExceptions here
                  cnfex.printStackTrace();
            }
            catch ( SQLException sqlex )
            {
                  // process SQLExceptions here
                  sqlex.printStackTrace();
            }
            catch ( Exception excp )
            {
                  // process remaining Exceptions here
                  excp.printStackTrace();
            }

Any and all help will be greatly appreciated.
0
Comment
Question by:tminniefield
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 10
  • 5
  • 4
  • +1
20 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 10824748
Your container will have to include the permission mentioned in the error message in its settings
0
 
LVL 14

Accepted Solution

by:
Tommy Braas earned 75 total points
ID: 10824827
If you're running this code inside an applet, you either need to do what CEHJ suggested (which will work for a small number of installations) or sign the jar which contains the classes for your applet.
0
 

Author Comment

by:tminniefield
ID: 10825416
I'm really new to Java, so how do I "sign the jar"?  
0
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 

Author Comment

by:tminniefield
ID: 10825535
And CEHJ, are you saying I need to add this to my code - import sun.jdbc.odbc.*;  ?
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10825597
>>And CEHJ, are you saying I need to add this to my code - import sun.jdbc.odbc.*;  ?

Not necessary.

http://www.mindprod.com/jgloss/signedapplets.html (if it's an applet)
0
 

Author Comment

by:tminniefield
ID: 10825710
CEHJ, is there another method besides signing the jar?
0
 

Author Comment

by:tminniefield
ID: 10825806
I mean signing the applet?
0
 
LVL 14

Expert Comment

by:Tommy Braas
ID: 10825889
You can updated the security properties file, but you would have to do that for every single computer that the applet is going to be running on!
0
 

Author Comment

by:tminniefield
ID: 10825921
Yeah, I don't think that would work :)
0
 
LVL 14

Expert Comment

by:Tommy Braas
ID: 10825968
That's what I thought!
0
 

Author Comment

by:tminniefield
ID: 10825983
orangehead911, is signing the applet what you were talking about in your first comment?
0
 

Author Comment

by:tminniefield
ID: 10825988
Or something totally different?
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 75 total points
ID: 10826029
You need to give your code that permission as i mentioned. I thought it was running in a web container, but that fact that it's an applet (at least you haven't gainsaid that it's an applet) doesn't make any difference. It still needs to be given that permission. In the case of an applet, that means signing it
0
 
LVL 14

Expert Comment

by:Tommy Braas
ID: 10826148
>> is signing the applet what you were talking about in your first comment?
That's indeed what I talked about in my first comment.
0
 
LVL 92

Expert Comment

by:objects
ID: 10827928
Alternatively use a different database such as mysql.
Or use an application instead of an applet.
Or use a servlet to make your db calls.
0
 

Author Comment

by:tminniefield
ID: 10832117
objects, how would I set up the servlet.  I cannot use an application instead of the applet because I have to use ASP.NET.
0
 

Author Comment

by:tminniefield
ID: 10832621
and in the end I'm going to be connecting to a SQL Database anyway.
0
 

Author Comment

by:tminniefield
ID: 10833221
I've done the signing the Jar file, but now I'm getting another error

java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

I think I'm just now specifying the classpath of this driver correctly.  Suggestions.
0
 
LVL 14

Expert Comment

by:Tommy Braas
ID: 10835616
Which browser and Java version?
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10836361
8-)
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question