Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 547
  • Last Modified:

DataSource????

Hi guys!!!
 
I have a question regarding the datasource in jdbc. If i used datasource to connect to database(mysql) should i still need a driver?Can u give me some code on how to conenction using datasource??

thanks...

0
rdy1437
Asked:
rdy1437
  • 10
  • 6
  • 3
  • +1
1 Solution
 
OviCommented:
You allways will need a driver (external to your application or the default jdbcodbc driver).
0
 
daittCommented:
Something like this:
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:dsn");
0
 
objectsCommented:
DataSource just provides an alternate interface for your application to use to connect with the database. Behind the scenes you'll still need some form of connection to your database which will most probably be a JDBC driver.
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
daittCommented:
I think ODBC is an API that provides a common programming interface to communicate with different DBMSs. JDBCODBC is a bridge that maps JDBC API to ODBC API (and it works the same way with any DBMS). So the drivers behind the scenes are usually the native ODBC drivers come with your DBMS.
0
 
objectsCommented:
> are usually the native ODBC drivers come with your DBMS.

Or pure JDBC drivers.
0
 
rdy1437Author Commented:
another thing, what's the difference of RMI and Reflection?
0
 
objectsCommented:
RMI is used for calling classes in other JVM's.
Reflection is for creating and calling instances at runtime.
0
 
objectsCommented:
RMI allows you to call methods of objects running in a different JVM.

Reflection allows you to obtain information about a class and it's members, and to manipulate objects at runtime.
0
 
rdy1437Author Commented:
Can u give more details about reflection(probably some code)?
0
 
objectsCommented:
Class cls = Class.forName("java.lang.Integer");
Method tostring = cls.getMethod("toString", null);
Object s = cls.newInstance();
String s = (String) tostring.invoke(s, null);

0
 
rdy1437Author Commented:
Can u give more details about reflection(probably some code)?
0
 
objectsCommented:
0
 
daittCommented:
>> are usually the native ODBC drivers come with your DBMS.

> Or pure JDBC drivers.

No, it cannot be a JDBC driver, because basically JDBC API is different from ODBC API. A driver for jdbcodbc bridge must provide ODBC interface, not JDBC. Of course, that might happen if somebody writes a JDBC driver that works for every DBMS and claim that it's a bridge (but I guess nobody's gonna do so)

rdy1437: I was very supprised when I saw the accepted answer. It's completely not related to your original question.
0
 
objectsCommented:
JDBC drivers come in 4 types, only type 1 uses ODBC:

Type 1: JDBC-ODBC Bridge
Type 2: Native-API/partly Java driver
Type 3: Net-protocol/all-Java driver
Type 4: Native-protocol/all-Java driver
0
 
daittCommented:
and only type 1 uses datasource
0
 
objectsCommented:
No DataSource can be used with all types, I'm currently using it in a project with a type 3 driver. And DataSource can also be used with other technologies such as LDAP.
0
 
daittCommented:
I think datasource is an element of ODBC, so who uses it will interact with ODBC and will be a bridge. Maybe your type 3 driver also supports type 1?
LDAP and any other technologies can use datasource as they wish. They will be able to connect and perform database actions easily without (or with a little) worrying about which DBMS it's working with.
0
 
objectsCommented:
> I think datasource is an element of ODBC

DataSource is a Java interface, while ODBC is a database standard (not directly related to Java at all). So I wouldn't think it is an element of ODBC.

> Maybe your type 3 driver also supports type 1?

No and its an unsigned applet so it can't be.

> LDAP and any other technologies can use datasource as they wish.

This implies that LDAP uses ODBC which is not the case.

> They will be able to connect and perform database actions
> easily without (or with a little) worrying about which
> DBMS it's working with.

LDAP is not for connecting to DBMS's.
0
 
daittCommented:
my bad .. I thought it was DSN which is ODBC.
0
 
objectsCommented:
:-)  No worries.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 10
  • 6
  • 3
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now