Академический Документы
Профессиональный Документы
Культура Документы
This type of JDBC Drivers provides a bridge between JDBC API and ODBC API.
This Bridge(JDBC-ODBC bridge) translates standard JDBC calls to Corresponding
ODBC Calls, and send them to ODBC database via ODBC Libraries.
The URL and class to be loaded for this type of driver are
Class :- sun.jdbc.odbc.JdbcOdbcDriver
URL :- jdbc:odbc:dsnname
1
4. Explain about Type-2 driver ? When this type of driver is used ?
Ans: The Drivers which are written in Native code will come into this category
In this mechanism the flow of Execution will be
When database call is made using JDBC,the driver translates the request into
vendor-specific API calls.
The database will process the requet and sends the results back through the Native
API ,which will forward them back to the JDBC dirver. The JDBC driver will
format the results to conform to the JDBC standard and return them to the
application.
The Java Client Application sends the calls to the Intermediate data access
server(jdbc driver server)
The middle tier then handles the requet using other driver(Type-II or Type-IV
drivers) to complete the request.
7. What are the Advantages & DisAdvantages of Type-2 ,Type-4 Drivers over JDBC-
ODBC bridge driver(Type-1)?
Ans: Type-2 & Type-4 are given
2
8. Which Driver is preferable for using JDBC API in Applets?
Ans: Type-4 Drivers.
9.Write the Syntax of URL to get connection ? Explain?
Ans: Syntax:- jdbc:<subprotocal>:<subname>
jdbc -----> is a protocal .This is only allowed protocal in JDBC.
<subprotocal> ---->The subprotocal is used to identify a database driver, or the
name of the database connectivity mechanism, choosen by the database driver
providers.
<subname> -------> The syntax of the subname is driver specific. The driver may
choose any syntax appropriate for its implementation
Ex: jdbc:odbc:dsn
jdbc:oracle:oci8:@ database name.
jdbc:orale:thin:@ database name:port number:SID
11.what are the types of resultsets in JDBC3.0 ?How you can retrieve information of
resultset?
Ans: ScrollableResultSet and ResultSet.We can retrieve information of resultset by using
java.sql.ResultSetMetaData interface.You can get the instance by calling the method
getMetaData() on ResulSet object.
Statement s=c.createStatement();
(or)
PreparedStatement p=c.prepareStatement();
(or)
CallableStatement cal=c.prpareCall();
3
13.Can java objects be stored in database? how?
Ans: Yes.We can store java objects, BY using setObject(),setBlob() and setClob() methods
in PreparedStatement
14.what do u mean by isolation level?
Ans: Isolation means that the business logic can proceed without consideration for the
other activities of the system.
28.What is a Connection?
Ans: Connection is an interface which is used to make a connection between client and
Database (ie opening a session with a particular database).
5
That is we can use this method for Fetching queries and Non-Fetching queries.
Fetching queries are the queries which are used to fetch the records from database (ie
which returns resutset)
Ex: Select * from emp.
30) What are the types of JDBC Driver Models and explain them?
Ans: here are two types of JDBC Driver Models and they are:
Two tier model and
Three tier model
Two tier model: In this model, Java applications interact directly with the database.
A JDBC driver is required to communicate with the particular database
management system that is being accessed.
SQL statements are sent to the database and the results are given to user.
This model is referred to as client/server configuration where user is the client and
the machine that has the database is called as the server.
Three tier model: A middle tier is introduced in this model. The functions of this model
are:
Collection of SQL statements from the client and handing it over to the database,
Receiving results from database to the client and
Maintaining control over accessing and updating of the above.
6
31) What are the steps involved for making a connection with a database or how do you
connect to a database?
Ans:
Loading the driver : To load the driver, Class.forName( ) method is used.
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
When the driver is loaded, it registers itself with the java.sql.DriverManager class as an
available database driver.
Making a connection with database : To open a connection to a given database,
DriverManager.getConnection( ) method is used.
Connection con = DriverManager.getConnection ("jdbc:odbc:somedb", "user","password");
Executing SQL statements :
To execute a SQL query, java.sql.statements class is used.
createStatement( ) method of Connection to obtain a new Statement object.
Statement stmt = con.createStatement( );
A query that returns data can be executed using the executeQuery( ) method of
Statement. This method executes the statement and returns a java.sql.ResultSet that
encapsulates the retrieved data:
ResultSet rs = stmt.executeQuery("SELECT * FROM some table");
Process the results :
ResultSet returns one row at a time. Next( ) method of ResultSet object can be
called to move to the next row. The getString( ) and getObject( ) methods are used for
retrieving column values:
while(rs.next( ) ) {
String event = rs.getString("event");
Object count = (Integer) rs.getObject("count");
7
34) What is stored procedure?
Ans:
1. Stored procedure is a group of SQL statements that forms a logical unit and
performs a particular task.
2. Stored Procedures are used to encapsulate a set of operations or queries to execute
on database.
3. Stored procedures can be compiled and executed with different parameters and
results and may have any combination of input/output parameters.
35) How to create and call stored procedures?
Ans:
To create stored procedures:
Create procedure procedurename (specify in, out and in out parameters)
BEGIN
Any multiple SQL statement;
END;
To call stored procedures:
CallableStatement csmt = con.prepareCall("{call procedure name(?,?)}");
csmt.registerOutParameter(column no., data type);
csmt.setInt(column no., column name)
csmt.execute( );
36) What is the difference between TCP/IP and UDP?
Ans:
TCP/IP is a two-way communication between the client and the server and it is a
reliable and there is a confirmation regarding reaching the message to the destination. It
is like a phone call.
UDP is a one-way communication only between the client and the server and it is
not a reliable and there is no confirmation regarding reaching the message to the
destination. It is like a postal mail.
37) What is Inet address?
Ans:Every computer connected to a network has an IP address. An IP address is a
number that uniquely identifies each computer on the Net. An IP address is a 32-bit
number.
38) What is Domain Naming Service(DNS)?
Ans: It is very difficult to remember a set of numbers(IP address) to connect to the
Internet. The Domain Naming Service(DNS) is used to overcome this problem. It maps
one particular IP address to a string of characters.
For example, www.mascom.com implies com is the domain name reserved for US
commercial sites, moscom is the name of the company and www is the name of the
specific computer, which is mascom's server.
8
5. How many types of data passing does JMS specification allows ?What are they?
Ans: JMS specification allows two types of data passing.
publish/subscribe [pub/sub model]
point-to-point [p-t-p model]
t----------------------->is a Topic object that specifies the Topic we want to subscribe to.
name-----------------> is a String that indicates the name under which to maintain the
Durable-Subscribtion to the specified topic.
messageselector --> is a String that defines selection criteria.
nolocal---------------> is a boolean if it is true the Subscriber will not recive messages
that were published by the client application .
Non-DurableSubscription :-
Non-DurableSubscription will not recive the messages published when the client
connection is not active.
2. what is JTA ?
Ans: JTA (JAVA TRANSACTION API) is the API released by javasoft under J2EE.
It was released after the release of JTS .
3. what are the advantages of JTA over JTS?
Ans: JTA (JAVA TRANSACTION API) is more flexible and simple to use by the
programer .The JTA API is divided into two parts
1. high-level X/Open Call Level Interface(CLI)
2. low-level XA Call Level Interface(CLI)
1. The low-level XA operations are taken care by the server which is giving the
Implementation to JTA API.
2. The user will never perform XA operations directly.This makes the
usermore simple to manipulate with transactions.
Servlet:
request.setAttribute(“theBean”, myBean);
RequestDispatcher rd = getServletContext().getRequestDispatcher(“thepage.jsp”);
rd.forward(request, response);
JSP PAGE:
<jsp: useBean id=”theBean” scope=”request” class=”.....” />
12
2. Session Lifetime: Using this technique to pass beans that are relevant to a
particular session (such as in individual user login) over a number of requests.
This bean will disappear when the session is invalidated or it times out, or when
you remove it.
Servlet:
HttpSession session = request.getSession(true);
session.putValue(“theBean”, myBean);
/* You can do a request dispatcher here, or just let the bean be visible on the
next request */
JSP Page:
<jsp:useBean id=”theBean” scope=”session” class=”...” />
3. Application Lifetime: Using this technique to pass beans that are relevant to all
servlets and JSP pages in a particular app, for all users. For example, I use this to
make a JDBC connection pool object available to the various servlets and JSP
pages in my apps. This bean will disappear when the servlet engine is shut down,
or when you remove it.
Servlet:
GetServletContext(). setAttribute(“theBean”, myBean);
JSP PAGE:
<jsp:useBean id=”theBean” scope=”application” class=”...” />
2)How can I set a cookie in JSP?
Ans:
response.setHeader(“Set-Cookie”, “cookie string”);
To give the response-object to a bean, write a method setResponse
(HttpServletResponse response) to the bean, and in jsp-file:
<%
bean.setResponse (response);
%>
14
Main difference between BMP and CMP
1.
Bean developer is responsible for implementing ejbCreate(), ejbFBPK() and
ejbLoad & ejbStore() operations in BMP
In CMP all the above said methods are implemented by container
2.
When designing BMP/CMP we are requested to make EntityBean point to
only one DB object (table) at a time
In case of BMP application it is our flexibility to point to any number of
records/tables at a time
In case CMP, container allows to map only one table at a time
Note: While designing EB, develop EB list properties same as table columns
3. Every time when we create one new instance of EB, EB instance points to only one
record at a time and EB are dependent relate with PK
4. If EB wants to point to more than one table, then to EB we can map "view" as an
object
5. If EntityBean wants to use composite PK then develop one user defined PK that
implements Serializable and declare all PK ref fields as public
6. EB are expensive
EB instance exist outside the pool are only in association with DB, and the
association exist until the bean instance is returned back to pool
In CMP 1.1 and BMP application before and after execution of business logic
method (during ejbLoad() and ejbStore()) all the DB fields are loaded into EB
instance, and during ejbStore() the entire EB state will be updated back to DB,
this causes unneccessary load() and store() operations increases operational
cost
7.
When designing SB business logic functions they are intended to accomplish
the required of usecase/business process
Business logic methods of EB are setXXX() and getXXX() on each EB field
8.
SB business logic functions contains business logic
EB business logic functions are persistence opearations
9.
SB are also called as coarse grained EJBs
EBs are called as fine grained EJBs
10. In CMP 2.0 the unneccessary load and store operations are over come with the
help of individual ejbLoad() and ejbStore() on each CMP field
15
EJB application flow sequence
1. As soon as EJB is deployed into AS, AS creates one instance of HomeImpl class
(Singleton) and registers the instance into Naming registry
2. Client interacts with JNDI (factory class name, URL) and obtains Naming registry
reference
3. Context ctxt=new InitialContext(ht);
4. Client requests JNDI name to NR, and NR returns HomeImpl stub ref
5. Client with the help of HomeImpl stub ref requests create() on HomeImpl class
6. HomeImpl class create() checks the resource availability, and if the resources are
free, it creates one new instance of EJB class and also RemoteImpl class
7. RemoteImpl stub ref will be send to client
8. client requests business logic method with the help of RemoteImpl stub ref
10.Bean business logic method executes TX logic statements (SQL DML operations)
13.Sop result
16
SLSB/SFSB Vs Entity Bean
1.
SLSB - no state maintanance
SFSB - maintains client's state persistence
2.
SFSB state is short live
EB state is long live
3. Because
SFSB maintains state in a .ser file
EB maintains state in DB
4.
SFSB state exist as long as container process exist/until remove() is called
EB state exist even though the container/App Server process is stopped, but cannot
survive if client requests remove()
5.
SFSB state refered by Session/UID
EB state refered by PK value
6.
That's why SFSB state cannot be shared by more than one client
EB state shared by more than one client
7.
SFSB are preferable used to maintain conversational state persistence &
implementing business logic
EB are used to maintain TX state persistent
8.
SFSB are called as TX aware
EB are Transactional
9.
SFSB data is a raw data (Coarse grained EJBs)
EB data is a purely refined data (Fine grained EJBs)
10) SFSB supports create() overloading
17