Solved

Trying to talk to a MS Access database with Java

Posted on 2004-04-14
20
295 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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
maven module vs maven project 3 116
ejb example issues 3 88
What's wrong with this code? 4 46
Java regex 5 21
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…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Suggested Courses

739 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