JSP JDBC Problem

Hello All,
I have created a small application using jsp and servlets with Oracle 10g as back end database and hosted on the oracle application server 10g. Database is installed on AIX machine and my application server is installed on a windows machine. When 4 to 5 users access the application simultaneously, it starts generating error "ORA-12519: TNS:no appropriate service handler found" and application becomes unaccessible. I have properly closed connections where ever opened to read or updated the database. Can any body suggest a solution?
Thanx

ORA-12519: TNS:no appropriate service handler found
Cause: The listener could not find any available service handlers that are appropriate for the client connection.
Action: Run "lsnrctl services" to ensure that the instance(s) have registered with the listener, and are accepting connections.

Similar Messages

  • Cannot access VARCHAR2s on Oracle 9i using JSP/JDBC

    After upgrading from Oracle 8.1.7 to Oracle 9, I get an
    exception when using JSP/JDBC to read data from columns
    containing VARCHAR2s. I can successfully read columns
    containing BLOBs, CLOBs, NUMBERs, and RAWs.
    I still can select VARCHAR2 columns by using SQL*Plus so the
    problem is with JDBC and not the database.
    I get the following exception message:
    java.sql.SQLException: ORA-00600: internal error code,
    arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []
    The following code that worked on Oracle 8 fails to execute
    properly on Oracle 9:
    OracleResultSet rs = null;
    String sql = "select name from users where id > 100";
    rs = (OracleResultSet)s.executeQuery(sql);
    I'm using Windows 2000, Tomcat 3.2.2, Java 1.3, and the latest
    version of OracleJSP.
    Has anyone run into this problem?
    I've also entered this same query on the Java-SQLJ/JDBC
    discussion fourm.

    I4ve installed Oracle 9i on RedHat 7.2.
    We develop with WebObjects and JBuilder.
    When i try to connect to the database via the EOModeller (JDBC) i got the same error:
    Stack Trace:
    JDBCAdaptorException: ORA-00600: Interner Fehlercode, Argumente: [ttcgcshnd-1], [0], [], [], [], [], [], []
    Then, i started creating and droping tables in the 9i Database >> it works fine.
    Can someone give an solution for this problem??

  • HELP.....!!!!! Chinese jsp compilation problem.....

    Hi,
    Could someone please help on the above mentioned?
    I'm using JDeveloper 3.2.3 for my program development under Chinese windows platform. I have created a simple JSP page, which contains few static Chinese words and I have included the line
    <%@ page contentType="text/html;charset=UTF-8"%>
    at the top of the page. When I tried to compile it using encoding "UTF8" (under compiler option), the compiler gave me this error:
    C:\Program Files\Oracle\JDeveloper 3.2.3\myhtml\Chinese_html\ChineseList.jsp
    Error: (0) sun.io.MalformedInputException.
    Btw, when I have removed the line <%@ page contentType="text/html;charset=UTF-8"%> from the page and compile, I've got this error:
    C:\Program Files\Oracle\JDeveloper 3.2.3\myhtml\Chinese_html\ChineseList.jsp
    Warning: (0) ISO-8859-1 character set may not match project compiler setting.
    C:\Program Files\Oracle\JDeveloper 3.2.3\myhtml\Chinese_html\ChineseList.java
    Error: (0) malformed input character in C:\Program Files\Oracle\JDeveloper 3.2.3\myhtml\Chinese_html\ChineseList.java.
    I do appreciate your help on this. Thank you.

    Here's some info one of the JSP Developers sent me:
    1. HELP.....!!!!! Chinese jsp compilation problem.....
    The customer is trying to parse a document generated by
    Windows's notepad. When saved in UTF-8, the byte
    order mark is saved too. We have a know bug that
    JSP parser doesn't recognize Byte Order Mark. The
    bug is : 1915285.
    2. CHINESE CHARACTER ON JSP
    . SQLPLUS depends on NLS_LANG setting. If you
    check the windows registry, the default of NLS_LANG
    depends on the OS. The user environment is Traditional
    Chinese, so does NLS_LANG. If we set NLS_LANG
    to .UTF8, SQLPLUS dumps the data in UTF8, however,
    the command prompt will have problem displaying them.
    . For JSP, as mentioned in a previous mail:
    <%@ page contentType="text/html;charset=UTF-8" %> for all languages
    <%@ page contentType="text/html;charset=GB2312" %> for simplified Chinese
    <%@ page contentType="text/html;charset=Big5" %> for traditional Chinese
    . When you enter Chinese characters on a browser,
    the data is automatically converted to page encoding
    (UTF-8 in your case) before sent back to the server.
    But your receiving servlet/JSP needs to have request
    encoding set correctly.
        I'm not sure about the JDeveloper environment,
    but here is a simple JSP you may try to verify your
    OC4J environment:
    a.    To set up the schema:
    connect scott/tiger
    create table tab01(col varchar2(100));
    b. Edit the connect string in nls.jsp
    c. Run the nls.jsp in oc4j instance.
    <!-- nls.jsp -->
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ page import="oracle.jdbc.*,java.sql.*,java.io.*"%>
    <HTML>
    <HEAD>
    <TITLE>Hello</TITLE></HEAD>
    <BODY>
    <%
    request.setCharacterEncoding("UTF-8");
    String sampledata="\u7D20";
    String paramValue = request.getParameter("myparam");
    String connStr = "jdbc:oracle:thin:@dlsun478:5521:j2ee01";
    String user = "scott";
    String passwd = "tiger";
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection(connStr, user, passwd);
    if (paramValue == null || paramValue.length() == 0) { %>
       <FORM METHOD="GET">
       Please input your name: <INPUT TYPE="TEXT" NAME="myparam"
    value="<%=sampledata%>" size=20>
    <BR>
       <INPUT TYPE="SUBMIT" value="Insert Data">
       </FORM>
    <%
      selectData(conn, out);
    else
    %>
       <H1> Insert Data: <%= paramValue %> </H1>
       <br/>
    <%
      insertData(conn, paramValue);
    %>
    <a href="nls.jsp">back</a>
    <%
    %>
    </BODY>
    </HTML>
    <%!
      public void insertData(Connection aConn, String myval)
        try {
          PreparedStatement stmt = aConn.prepareStatement("insert into tab01
    values(?)");
          stmt.setString(1, myval);
          stmt.executeUpdate();
          aConn.close();
        catch (SQLException e) {
          e.printStackTrace();
      public void selectData (Connection aConn, JspWriter out)
        try {
          Statement stmt = aConn.createStatement( );
          ResultSet r = stmt.executeQuery("SELECT col FROM tab01");
          out.println("<H1>List of Data:</H1>");
          while (r.next()) {
            out.println(r.getString(1)+"<br/>");
          aConn.close();
        catch (SQLException e) {
          e.printStackTrace();
        catch (IOException e) {
          e.printStackTrace();
    %>

  • Re: [iPlanet-JATO] sp3 jsp compiler problem

    Weiguo,
    First, Matt is correct, the regular expression tool is perfect for general text
    substitution situations, and as a completely independent tool its use is not
    restricted to migration situations (or file types for that matter).
    Second, I sympathize with the unfortunate trouble you are experiencing due to
    Jasper's (perhaps more strict) compilation, but in what way did the iMT
    automated translation contribute to these inconsistencies that you cited?
    1. Changed the case of the tag attribute to be the same as what's
    defined in tld.
    example: changed OnClick to onClick
    The iMT does not generate any OnClick or onClick clauses per se. In a
    translation situation, the only way "OnClick" would have been introduced was if
    it had been part of the pre-existing project's "extraHTML" (which was written
    by the original customer and just passed through unchanged by the iMT) or if it
    was added manually by the post-migration developer.
    2. Removed attributes which are not defined in tld.
    example: escape attribute only defined in three tags
    but in some pages, it's used although it's not defined as an
    attribute
    of certain tags. The jasper compiler doesn't like it.Can you give soem examples? Is there a definite pattern? Again, this might be
    similar to the OnClick situation described above?
    3. In an end tag, there can't be any space.
    example: </content > doesn't work. </content> works.
    Again, the content tag would never have been generated by the iMT. There was no
    equivalent in the NetDynamics world, so any content tags in your code must have
    been introduced by your developers manually. Its a shame that jasper is so
    particular, but the iMT could not help you out here even if we wanted to. The
    constants that are used by the iMT are defined in
    com.iplanet.moko.jsp.convert.JspConversionConstants. From what I can see, the
    only situation of a closing tag with any space in it is
    public static final String CLOSE_EMPTY_ELEMENT = " />";
    But that should not cause the type of problem you are referring to.
    Mike
    ----- Original Message -----
    From: Matthew Stevens
    Sent: Thursday, September 06, 2001 10:16 AM
    Subject: RE: [iPlanet-JATO] sp3 jsp compiler problem
    Weiguo,
    Others will chime in for sure...I would highly recommend the Regex Tool from
    the iMT 1.1.1 for tackling this type of problem. Mike, Todd and myself have
    posted to the group (even recently) on directions and advantages of creating
    your own RULES (rules file) in XML for arbitary batch processing of source.
    matt
    -----Original Message-----
    From: weiguo.wang@b...
    [mailto:<a href="/group/SunONE-JATO/post?protectID=125056020108194190033029175101192165174144234026000079108238073194105057099246073154180137239239223019162">weiguo.wang@b...</a>]
    Sent: Thursday, September 06, 2001 12:25 PM
    Subject: [iPlanet-JATO] sp3 jsp compiler problem
    Matt/Mike/Todd,
    We are trying to migrate to sp3 right now, but have had a lot of
    issues with the new jasper compiler.
    The following workaround has been employed to solve the issues:
    1. Changed the case of the tag attribute to be the same as what's
    defined in tld.
    example: changed OnClick to onClick
    2. Removed attributes which are not defined in tld.
    example: escape attribute only defined in three tags
    but in some pages, it's used although it's not defined as an
    attribute
    of certain tags. The jasper compiler doesn't like it.
    3. In an end tag, there can't be any space.
    example: </content > doesn't work. </content> works.
    As I see it, we have two options to go about solving this problem:
    1. Write a script which will iterate through all the jsp files and
    call jspc on them. Fix the errors manually when jspc fails. Jspc will
    flag the line number where an error occurs.
    2. Write a utility which scans the jsp files and fix the errors when
    they are encountered. We should define what's an error and how to
    correct it. It's best if we combine this with solution 1 since we
    might miss an error condition.
    Actually, there might be another option, which is seeking help from
    you guys since you have better understanding of JATO and iAS. Can you
    do anything to help us?
    We would be happy to hear your thoughts.
    At last, I would like to suggest modifying the moko tool so that
    these rules are enforced and the generated JSPs work with the new
    compiler. This is for the benefit of any new migration projects.
    Thanks a lot.
    Weiguo
    [email protected]
    Choose from 1000s of job listings!
    [email protected]
    [Non-text portions of this message have been removed]

    Thanks a lot Matt and Mike for your prompt replies.
    I agree completely that iMT doesn't introduce the inconsistencies.
    About the three cases I mentioned, the third one happens only in
    manually created JSPs. So it has nothing to do with iMT. The first
    two are mainly due to the existing HTML code, as you rightly pointed
    out.
    The reason I made the suggestion is since we know that case 1 and 2
    won't pass the japser compiler in sp3, we have to do something about
    it. The best place to do this, in my mind, is iMT. Of course, there
    might be some twists that make it impossible or difficult to do this
    kind of case manipulation or attribute discard.
    Weiguo
    --- In iPlanet-JATO@y..., "Mike Frisino" <Michael.Frisino@S...> wrote:
    Weiguo,
    First, Matt is correct, the regular expression tool is perfect for general text substitution situations, and as a completely independent
    tool its use is not restricted to migration situations (or file types
    for that matter).
    >
    Second, I sympathize with the unfortunate trouble you are experiencing due to Jasper's (perhaps more strict) compilation, but
    in what way did the iMT automated translation contribute to these
    inconsistencies that you cited?
    >
    1. Changed the case of the tag attribute to be the same as what's
    defined in tld.
    example: changed OnClick to onClick
    The iMT does not generate any OnClick or onClick clauses per se. In a translation situation, the only way "OnClick" would have been
    introduced was if it had been part of the pre-existing
    project's "extraHTML" (which was written by the original customer and
    just passed through unchanged by the iMT) or if it was added manually
    by the post-migration developer.
    >
    2. Removed attributes which are not defined in tld.
    example: escape attribute only defined in three tags
    but in some pages, it's used although it's not defined as an
    attribute
    of certain tags. The jasper compiler doesn't like it.Can you give soem examples? Is there a definite pattern? Again, this might be similar to the OnClick situation described above?
    >
    >
    3. In an end tag, there can't be any space.
    example: </content > doesn't work. </content> works.
    Again, the content tag would never have been generated by the iMT. There was no equivalent in the NetDynamics world, so any content tags
    in your code must have been introduced by your developers manually.
    Its a shame that jasper is so particular, but the iMT could not help
    you out here even if we wanted to. The constants that are used by the
    iMT are defined in
    com.iplanet.moko.jsp.convert.JspConversionConstants. From what I can
    see, the only situation of a closing tag with any space in it is
    public static final String CLOSE_EMPTY_ELEMENT = " />";
    But that should not cause the type of problem you are referring to.
    Mike
    ----- Original Message -----
    From: Matthew Stevens
    Sent: Thursday, September 06, 2001 10:16 AM
    Subject: RE: [iPlanet-JATO] sp3 jsp compiler problem
    Weiguo,
    Others will chime in for sure...I would highly recommend the Regex Tool from
    the iMT 1.1.1 for tackling this type of problem. Mike, Todd and myself have
    posted to the group (even recently) on directions and advantages of creating
    your own RULES (rules file) in XML for arbitary batch processing of source.
    >
    matt
    -----Original Message-----
    From: weiguo.wang@b...
    [mailto:<a href="/group/SunONE-JATO/post?protectID=125056020108194190033029175101192165174048139046">weiguo.wang@b...</a>]
    Sent: Thursday, September 06, 2001 12:25 PM
    Subject: [iPlanet-JATO] sp3 jsp compiler problem
    Matt/Mike/Todd,
    We are trying to migrate to sp3 right now, but have had a lot of
    issues with the new jasper compiler.
    The following workaround has been employed to solve the issues:
    1. Changed the case of the tag attribute to be the same as
    what's
    defined in tld.
    example: changed OnClick to onClick
    2. Removed attributes which are not defined in tld.
    example: escape attribute only defined in three tags
    but in some pages, it's used although it's not defined as an
    attribute
    of certain tags. The jasper compiler doesn't like it.
    3. In an end tag, there can't be any space.
    example: </content > doesn't work. </content> works.
    As I see it, we have two options to go about solving this problem:
    >>
    1. Write a script which will iterate through all the jsp files and
    call jspc on them. Fix the errors manually when jspc fails. Jspc will
    flag the line number where an error occurs.
    2. Write a utility which scans the jsp files and fix the errors when
    they are encountered. We should define what's an error and how to
    correct it. It's best if we combine this with solution 1 since we
    might miss an error condition.
    Actually, there might be another option, which is seeking help from
    you guys since you have better understanding of JATO and iAS. Can you
    do anything to help us?
    We would be happy to hear your thoughts.
    At last, I would like to suggest modifying the moko tool so that
    these rules are enforced and the generated JSPs work with the new
    compiler. This is for the benefit of any new migration projects.
    Thanks a lot.
    Weiguo
    [email protected]
    Choose from 1000s of job listings!
    [email protected]
    Service.
    >
    >
    >
    [Non-text portions of this message have been removed]

  • Remote JDBC Problem with Oracle BPM Studio

    Hi all, i am facing the Remote JDBC Problem with Oracle BPM Studio.
    When i configure a Remote JDBC Connection for SQL in BPM Studio, it prompt me an error.
    The SQL Connection is configured as following :
    External Resource:
    Name : MyDS
    Type : SQL Database
    Supported Types : Remote JDBC
    Details:
    Database Type : BPM's Oracle Driver Version:10, 11
    J2EE : WLS
    Lookup Name : MyAppDS
    Configuration for "WLS"
    Name : WLS
    Type : J2EE Application Server
    Supported Types : GENERIC_J2EE
    Details:
    Initial Context Factory : weblogic.jndi.WLInitialContextFactory
    URL : t3://localhost:7001
    But, when i try to connect to the Database by using this configuration, I will get an Exception.
    An exception occurred while getting a resource from a connector.
    Detail:The connector [[ MyDS : SQL : REMOTE_JDBC ]] caused an exception when getting a resource.
    Caused by: An exception occurred while getting a resource from a connector.
    Detail:The connector [[ WLS : J2EE : J2EE ]] caused an exception when getting a resource.
    Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [[ Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory ]]
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at fuego.jndi.FaultTolerantContext.createContext(FaultTolerantContext.java:726)
         at fuego.jndi.FaultTolerantContext.<init>(FaultTolerantContext.java:79)
         at fuego.connector.impl.GenericJ2EEConnector.createInitialContext(GenericJ2EEConnector.java:177)
         at fuego.connector.impl.GenericJ2EEConnector.createStandaloneContext(GenericJ2EEConnector.java:98)
         at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:92)
         at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:76)
         at fuego.connector.J2EEHelper.getReadOnlyContext(J2EEHelper.java:86)
         ... 12 more
    Edited by: user2262377 on Jun 22, 2009 4:01 PM

    I guess the weblogic.jar is not included in the studio.
    So, i added weblogic.jar (Weblogic 10.3) and wlclient.jar (Weblogic 10.3)
    It is working in my simple java code. But, still not working in BPM Studio.
    The error logs:
    An exception occurred while getting a resource from a connector.
    Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
    Caused by: java.lang.Object cannot be cast to java.io.Serializable
    fuego.connector.ConnectorException: An exception occurred while getting a resource from a connector.
    Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
         at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:88)
         at fuego.connector.JDBCHelper.getReadOnlyConnection(JDBCHelper.java:93)
         at fuego.sqlintrospector.BrowserPanel.connect(BrowserPanel.java:395)
         at fuego.sqlintrospector.BrowserPanel.populateTree(BrowserPanel.java:200)
         at fuego.ui.wizards.ui.CheckTreeBrowser$1.construct(CheckTreeBrowser.java:63)
         at fuego.ui.SwingWorker$2.run(SwingWorker.java:39)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.ClassCastException: java.lang.Object cannot be cast to java.io.Serializable
         at weblogic.iiop.IIOPOutputStream.writeAny(IIOPOutputStream.java:1588)
         at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2231)
         at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:413)
         at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235)
         at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225)
         at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182)
         at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1963)
         at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2001)
         at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2266)
         at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

  • Servlet/jsp/jdbc best approach

    Hello guys
    Which is the best approach when developing servlet/jsp/jdbc? I will take an
    example:
    I have index-page, page2 and page 3.
    When the user writes www.mydomain.com then the page index.jsp checks if the
    user is coming from the servlet, like this:
    <%
    if(request.getAttribute("getPageTitle")==null){
    %>
    <jsp:forward page="/Index" />
    <%
    else{
    %>
    <%@ include file="/include/header.jsp" %>
    content for index.jsp
    <%@ include file="/include/footer.jsp" %>
    <%
    %>
    On the other hand, the Index class has this init()
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    con = DatabaseConf.getConnection();
    DatabaseConf is a class that handles all the operations related to the
    database.
    Index.class has also the doGet-method like this:
    request.setAttribute ("getPageTitle", "AnyTilte");
    getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forward(request,
    response);
    Does it looks ok so long?
    Now, I have other pages, page2 and page3 (in fact I have mych more than just
    these, but this is only an example)
    pages.jsp works as index.jsp. It makes a check
    <%
    if(request.getAttribute("getPageTitle")==null){
    %>
    if not satisfied than it redirect to
    <jsp:forward page="/Page2" />
    My concern, however, is about databasemanagement. Even the Page.class has an
    init-method that looks exactly like the one in Index.class, e.g.
    public void init(ServletConfig config) throws ServletException {
    super.init(config);
    con = DatabaseConf.getConnection();
    In conclusion, Im starting jdbc-connection for every class-file that
    initiates. Is this a good approach? What I would like is a solution to
    initiate the database only one time, when the server starts. Not everytime,
    the first time a specially class-file will be called. I know, this will
    happens only one time for a file for the server's lifetime. But Im afraid
    this is not a good way to work.
    Regards
    email2us

    Hello guys
    Which is the best approach when developing
    servlet/jsp/jdbc? I will take an
    example:
    I have index-page, page2 and page 3.
    When the user writes www.mydomain.com then the page
    index.jsp checks if the
    user is coming from the servlet, like this:
    <%
    if(request.getAttribute("getPageTitle")==null){
    %>
    <jsp:forward page="/Index" />
    <%
    else{
    %>
    <%@ include file="/include/header.jsp" %>
    content for index.jsp
    <%@ include file="/include/footer.jsp" %>
    <%
    %>
    On the other hand, the Index class has this init()
    public void init(ServletConfig config) throws
    ServletException {
    super.init(config);
    con = DatabaseConf.getConnection();
    DatabaseConf is a class that handles all the
    operations related to the
    database.
    Index.class has also the doGet-method like this:
    request.setAttribute ("getPageTitle", "AnyTilte");
    getServletConfig().getServletContext().getRequestDispa
    tcher("/index.jsp").forward(request,
    response);
    Does it looks ok so long?
    Now, I have other pages, page2 and page3 (in fact I
    have mych more than just
    these, but this is only an example)
    pages.jsp works as index.jsp. It makes a check
    <%
    if(request.getAttribute("getPageTitle")==null){
    %>
    if not satisfied than it redirect to
    <jsp:forward page="/Page2" />
    My concern, however, is about databasemanagement.
    Even the Page.class has an
    init-method that looks exactly like the one in
    Index.class, e.g.
    public void init(ServletConfig config) throws
    ServletException {
    super.init(config);
    con = DatabaseConf.getConnection();
    Please use the code formatting tags when posting actual code.
    In conclusion, Im starting jdbc-connection for every
    class-file that
    initiates. Is this a good approach? You normally do not want your Servlet to initiate (which I take to mean 'startup') a database. The two can run independently. The place to initiate a database is in your operating system's startup scripts.
    What I would like
    is a solution to
    initiate the database only one time, when the server
    starts. Not everytime,
    the first time a specially class-file will be called.If you are talking about java.sql.Connection, you generally do not want to have a single connection for your entire application. Each thread should use its own connection, or transaction management/logical unit of work will be problematic, at best. You can use a connection pool to improve performance. However, from a caller's perspective, they are receiving a new connection each time.
    I know, this will
    happens only one time for a file for the server's
    lifetime. But Im afraid
    this is not a good way to work.
    Regards
    email2us- Saish

  • JSP + JDBC + MySql Problem (Tomcat 4.1)

    I'm completely helpless... whenever I try to retrieve stuff from the db (using a jsp page), I get errors that don't even make sense.
    out.println(stmt.executeQuery("SELECT * FROM newsTbl WHERE articleID = 1").getString("articleTitle"));if I try doing the above, I get a "ServletException : Before start of result set" error that supposedly occurred at this line of the generated servlet:
    if (pageContext != null) pageContext.handlePageException(t);---------------
    If i try this:
    ResultSet rsSec = stmt.executeQuery("SELECT * FROM newsSecTbl");
    rsSec.beforeFirst();  //<-- Even if I don't have this line the result does not change
      out.println(rsSec.next());
      while (rsSec.next()) { ... }I the while loop is never initiated, because rsSec.next() is false... kind of weird if you ask me, I even put two entries into the table to make sure the cursor wasnt at the first record and saying there was no second one (which would have been right if there were only one record).
    I would be very grateful if someone could help me out with this. I've never done any db programming with Java yet, so I dont have a clue what Im doing. By the way, I'm using MySql (indicated in the title) and the server was running and available when I ran the above code.
    Cheers,
    Tom

    You can't do this:
    out.println(stmt.executeQuery("SELECT * FROM newsTbl WHERE articleID = 1").getString("articleTitle"));The ResultSet you get back is a database cursor that doesn't point to the first row yet. The correct idiom is:
    String sql = "SELECT * FROM newsTbl WHERE articleID = 1";
    ResultSet result = stmt.executeQuery(sql);
    String articleTitle = "";
    while (result.next())
       title = result.getString("articleTitle");
    result.close();
    stmt.close();If you've never done DB programming before, I'd recommend that you click on the Tutorials link to the left and go through the JDBC tutorial carefully. You'll save yourself a lot of grief.
    Another good idea would be to separate out all your database code into at least one separate object, independent of the servlet. That way you can test and develop it off to the side until it's 100% solid. Then your servlet can simply instantiate one and use it. All your problems from that point forward will be servlet issues, because you'll know that your database code is working. - MOD
    See if that works better. - MOD

  • Jsp jdbc connectivity problem.

    i'm getting the following error
    "HTTP Status 500-----
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: /create_user.jsp(2,4) Invalid directive
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:527)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1568)
    org.apache.jasper.compiler.Parser.parse(Parser.java:132)
    org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)"
    for the jsp file is :
    <%@ page import="java.sql.*" %>
    <%@ //page errorPage="exceptionHandler.jsp"%>
    <%
    String connectionURL = "jdbc:mysql://localhost:3306/decipher?user=localhost;password=passwd";
    Connection connection = null;
    Statement statement = null;
    ResultSet rs = null;
    %>
    <html><body>
    <%
    String nr="nr";
    String a= request.getParameter("emp_id");
    String b= request.getParameter("name");
    String c= request.getParameter("department");
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    connection = DriverManager.getConnection(connectionURL, "root", "passwd");
    statement = connection.createStatement();
    statement.executeUpdate("use decipher");
    statement.executeUpdate("Insert into candidate_details values ('" +a+ "','" +b+ "','" +c+ "')");
    %>
    sucesssfully created New Account
    </body>
    </html>"

    bmahesh7feb wrote:
    org.apache.jasper.JasperException: /create_user.jsp(2,4) Invalid directiveAt line 2, character 4 of create_user.jsp there's an invalid directive. This is a plain code syntax error.
    <%@ //page errorPage="exceptionHandler.jsp"%>What are those slashes doing there? Do you think that those Java style comments outcomments the JSP line? It is JSP code, it is not Java code. Remove the whole line or use JSP comments.
    As for the remnant of your JSP code, there are a lot of flaws in there. First step to in the right direction would be to stop using scriptlets in JSP. Good luck.

  • Help ! ! !Oracle 8.1.7, Linux, JDBC problem

    We have been troubleshooting a problem with our recently installed Linux (mandrake 8.0) Oracle DB Server. Everything seems to run fine, except JDBC connections. Whenever we connect to the server with one of our Java applications, JSP, Servlet, etc... the first time it works, then all other java apps get:
    java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
    ... also, our connect strings are correct... seems to be a problem with the listener...
    this only happens on the linux server and not solaris.
    Here is the listener.ora file
    # LISTENER.ORA Network Configuration File: /disk1/OraHome1/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = warf))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 216.174.11.57)(PORT = 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /disk1/OraHome1)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = warf.world)
    (ORACLE_HOME = /disk1/OraHome1)
    (SID_NAME = warf)
    )

    Also,
    If I stop the listener and restart it... it works, but only for the first JDBC connection... ODBC seems uneffected.

  • Jsp taglib problems in J2ee server  of j2sdkee1.3

    Fresh from solving the problems with usebean in jsp, I again got a problem with the custom tags of JSP
    I am using Jdk1.3 and j2sdkee1.3, windows98
    The class file is stored in a package called my in the c:\j2sdkee1.3\lib\classes\my folder
    and the tld and jsp file stored in c:\j2sdkee1.3\public_html folder
    when I access the atm.jsp page, I got this error message
    A Servlet Exception Has Occurred
    org.apache.jasper.compiler.ParseException: End of content reached while more parsing required: tag nesting error?
    Here is the ATMJsp.tld code
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
         <tlibversion>1.0</tlibversion>
         <jspversion>1.1</jspversion>
         <shortname>ATMJsp</shortname>
         <info>a tag library for the atm details</info>
         <tag>
              <name>ATM</name>
              <tagclass>my.atmtag</tagclass>
              <bodycontent>JSP</bodycontent>
              <info>Outputs of the ATM Counter</info>
         </tag>
    </taglib>
    I try:
    When I put the <bodycontent> tags below the <info> tags, I got the error message that the tag doesn't allow "bodycontent" here
    I don't know what caused the problem ... is there some mistake in the above code?
    Include other file to make it more clear---* atm.jsp and atmtag.java
    atm.jsp
    <%@ page import="my.atmtag" %>
    <%@ taglib uri="ATMJsp.tld" prefix="atmjsp" %>
    <%@ page errorPage="errorpage.jsp" %>
    <!DocType HTML Public "-//W3C//DTD// HTML 4.0 Translational//EN">
    <html>
    <head></head>
    <body>
    <h3 align=center>ATM counters that need cash</h3>
    <table><tr>
    <td></td>
    <td><atmjsp:ATM></td>
    </tr>
    </body>
    </html>
    atmtag.java
    package my;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import java.io.*;
    import java.sql.*;
    import java.math.*;
    import java.util.*;
    //tag handler
    public class atmtag extends TagSupport
         Connection connect=null;
         Statement state=null;
         ResultSet result=null;
         public atmtag() throws ClassNotFoundException
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         public int doStartTag() throws JspTagException
              return EVAL_BODY_INCLUDE;
         public int doEndTag() throws JspTagException
              try
                   JspWriter out=pageContext.getOut();
                   connect=DriverManager.getConnection("jdbc:odbc:EarnestBank","","");
                   String strquery="select cCounter_id, cAddress, mCashBalance from Counter where mCashBalance<=10000";
                   state=connect.createStatement();
                   ResultSet result=state.executeQuery(strquery);
                   String sid=null;
                   String saddress=null;
                   String sbalance=null;
                   Vector v=new Vector();
                   while(result.next())
                        sid=result.getString(1);
                        saddress=result.getString(2);
                        sbalance=result.getString(3);
                        v.add(sid);
                        v.add(saddress);
                        v.add(sbalance);
                   for (int i=0; i<v.size();i++)
                        String str=(String)v.elementAt(i);
                        pageContext.getOut().write(str);
              catch(Exception ex)
              return EVAL_PAGE;
    Pls help me to get through this hurdle
    Thanks

    1) To handle <bodycontent> you should inherit from BodyTagSupport
    class
    2) You should use your bean like: <td><atmjsp:ATM/></td>
    with closing slash - it's bodyless tag - this mistake
    causes JSP compiler to report error
    Enjoy!
    Paul

  • [Newbie] Model2 JSP + JDBC + JSTL forEach

    Hi,
    This is my first post.
    I'm running into a bit of brain failure over decoupling my JSP view page from the specifics of the JDBC the model uses.
    I want to avoid the easy route of:
    Controller
    - interogates request as default main listing page.
    - runs a JDBC query
    - pops the ResultSet in the request
    - forwards to the mainlisting.jsp view
    JSP View
    - Uses a scriplet to iterate and display the contents of the results set as an HTML table.
    For a start I don't want to pass a ResultSet to the view page. I'd like to keep it completely ignorant of whether the application is using JDBC, XML or an EJB for it's data tier.
    My first smart? idea was to write an adapter for ResultSet that provides a standard List (or similar) interface, taking data from the ResultSet and returning 'domain' value objects instead of Rows.
    This presents a secondary problem however. In order to provide a List of beans around the result set I either need to copy the whole result set into an ArrayList or Vector on creation, or implement the entire List interface myself (<yawn>).
    So I figured if it's that hard, it can't be the correct way.
    Ultimately I'm after some type of Bean collection I can populate (or wrap around) a ResultSet, so that the following JSP will display the list.
    <ul>
    <c:forEach items="${theListOfItems}" var="item">
    <li><c:out value="${item.foo}" /> - <c:out value="${item.bar}" /></li>
    </c:forEach>
    </ul>
    Any pointers?
    Cheers
    Paul

    I'm quite pleased I was on the right track and I even accepted defeat in finding a pipelining way to iterating over the beans attached to the underlying result set and .. as you suggest .. loading it all into beans on creation.
    I ended up with this:
    package uk.co.cmm.tvrecorder.webapp;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.Date;
    @SuppressWarnings("serial")
    public class RecordingList extends ArrayList<Recording> {
         public RecordingList(ResultSet res) throws SQLException {
              while( res.next() ) {
                   Recording rec = new Recording();
                   rec.setId(res.getInt("id"));
                   rec.setChannel(res.getString("chan"));
                   rec.setProgName(res.getString("prog"));
                   rec.setPrio(res.getInt("prio"));
                   // Date-Times are stored as Unix long ints
                   // Why?  Legacy database - allows numerical comparison in legacy dvb recorder shell component.
                   // Possible future change to SQL DateTime but not just now.
                   Date d = new Date(res.getLong("start")*1000);
                   rec.setStart(d);
                   d = new Date(res.getLong("stop")*1000);
                   rec.setStop(d);
                   this.add(rec);
    }Which then allowed me to have:
    <table>
    <tr><th>Programme</th><th>Channel</th><th>Date</th><th>Start</th><th>Stop</th><th>Prio</th></tr>
    <c:forEach items="${recordings}" var="item">
         <c:choose>
                     <!-- when is running now -->
              <c:when test="${(now ge item.start) and (now lt item.stop)}">
                   <c:set var="style" value="background-color:red;" />
              </c:when>
              <c:otherwise>
                   <c:set var="style" value="background-color:white;" />
              </c:otherwise>
         </c:choose>
         <tr style="<c:out value="${style}" />">
              <td><c:out value="${item.progName}" /></td>
              <td><c:out value="${item.channel}" /></td>
              <td><fmt:formatDate type="date" dateStyle="FULL" value="${item.start}"  /></td>          
              <td><fmt:formatDate type="time" value="${item.start}" /></td>          
              <td><fmt:formatDate type="time" timeStyle="LONG" value="${item.stop }" /></td>          
              <td><c:out value="${item.prio}" /></td>     
         </tr>
    </c:forEach>That's that sorted, I think.... NEXT!
    Is this the correct way to put a var into an HTML attribute?
         <tr style="<c:out value="${style}" />">Cheers
    Paul

  • Distributed transactions/jdbc problem WL60

    Hi
              Our company has aworking application running on WLS5.1sp9.
              Im in the process of migrating it to WL6.0sp2.
              Our domain has 2 clusters each running 2 servers:
              1) servlet engines (handling http requests from clients, running servlets
              and jsp's)
              2) ejb containers (runnigour entities and session beans, working with Oracle
              8i database using connection pool and TxDataSource)
              The scenario:
              - a client request invokes a servlet on one of the servlet engines.
              - the servlet opens a jndi context to one of the ejb containers
              - the servlet open a transaction on a UserTransaction stub on that ejb.
              - then the servlet calls an entity bean using a home interface looked up
              using the same context.
              - the entity bean uses DataSource lookup in its own servers jndi to rerieve
              a connection.
              and then i get the following exception:
              java.sql.SQLException: No default driver for database type:
              jdbc:weblogic:jts
              at
              weblogic.jdbcbase.t3.Driver.seeIfWeNeedToInferDriverNameAndUrlFrom(Driver.ja
              va:456)
              at weblogic.jdbcbase.t3.Driver.getAllPropsFrom(Driver.java:255)
              at weblogic.jdbcbase.t3.Driver.connect(Driver.java:75)
              at weblogic.jdbcbase.jts.Driver.createRemoteConnection(Driver.java:199)
              at weblogic.jdbcbase.jts.Driver.connect(Driver.java:134)
              at
              weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java
              :44)
              at com.unisfair.util.DBHelper.getConnection(DBHelper.java:43)
              the transaction toString() gives:
              transaction=(IdHash=7541556,Name = [EJB
              UserBeanImpl.generateSessionSuffix()],Xid=2:b53da78d3c1badbb,Status=Active,n
              umRepliesOwedMe=0,numRepliesOwedOthers=1,seconds since begin=0,seconds
              left=30,activeThread=Thread[ExecuteThread: '8' for queue: 'default',5,Thread
              Group for Queue:
              'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=new,assig
              ned=none),SCInfo[ejb2]=(state=active),SCInfo[servlet2]=(state=active),SCInfo
              [ejb1]=(state=active),properties=({weblogic.transaction.name=[EJB
              UserBeanImpl.generateSessionSuffix()], weblogic.jdbc=t3://10.0.0.31:7007}))
              However the error happens on the other ejb server 10.0.0.33:7007
              It seems that the jts driver tries to get a remote connection on the server
              that coordinates the transaction but uses the deprecated t3 driver.
              I hope someone can help us since this problem is a good enough reason for us
              not moving on to WL6.0 we also looked at WL6.1 Beta and theres nothing new
              about it either.
              thanks
              Dror Last
              Senior Software Engineer
              Unisfair Inc.
              12 Yad Haruzim St. Tel Aviv 67778 Israel
              Tel: +972-3-5373738 Ext. 243
              Fax: +972-3-5373731
              GSM: +972-55-723710
              mailto:[email protected]
              http://www.unisfair.com/
              

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by JDBC_TX ():
    In the readme file of Oracle JDBC drivers 8.1.6.0.1 (http://technet.oracle.com/software/tech/java/sqlj_jdbc/files/Readme_01.txt)
    it mentioned that it supports "distributed transactions".
    As I understand, JDBC transaction is connection based and uses Oracle internal transaction manager. In order to do "distributed transactions", I must have at least two connections open at the same time each to its own database instance. How does the two connections coordinate the transactions? I thought in order to support "distributed transactions", one has to build a higher layer to encapsulate the two connections and therefore coordinate the distributed transactions. Any examples will be welcome.<HR></BLOCKQUOTE>
    The two branches of the transaction are coordinated using 2-phase commit.
    For samples look under
    $ORACLE_HOME/jdbc/demo/samples/oci8/jdbc20-samples/
    null

  • Formatting data in table - jsp & jdbc

    Hey there friends!
    I was having a little problem formatting data and I was looking for help!
    I want to format the data from jdbc as follows on a jsp page
    THIS IS REPORT TO GENERATE
    Name | Worked | Refused | Training | CarryOver
    Jim | 10 | 5 | 2 | 5
    Bob | 20 | 5 | 10 |
    The resultset that I retrieve from my database is like this
    RESULTSET
    ID | Name | Type | Hours | CarryOver
    1 | Jim | Worked | 10 | 5
    1 | Jim | Refused | 5 | 5
    1 | Jim | Training | 10 | 5
    2 | Bob | Worked | 20 | 10
    2 | Bob | Training | 5 | 10
    Can anyone suggest what can be a done here?

    As you have learnt something it is only fair for me for reciprocate.
    The code example I gave you was psuedocode - not real java. You need to add in a couple more things to make it work correctly.
    First we want to create an entry in the hash, iff there is no record already there, otherwise, we want to get the value and add our new value to it (let's say the map is called map):
    String key = record.name + "/" + record.type;  // Using combination string as the key - simplest solution
    Long hours = map.get(key);
    if (hours == null) {
       hours = new Long(record.hours);
    } else {
       hours = new Long(hours.getValue() + record.hours);
    map.put(key, hours);It would be better to use your own class to hold the long value - as this would save all the construction calls.

  • JDBC problems

    Hi,
    Im a total newbie with JDCB and not much better with JSP. Im trying to create a jsp log in page that checks the userName against a DB with the user name and password in it.
    My main and imediate problem is, is that i dont know how to open a connection to a table that i create on the hdd. Also, would it be better to have a create table statment in the jsp code that gets created after a check is done to see that the table doesnt exist, or to create the table and link to it. As i said im a little bit on the new side to all of this, any help would be appreciated muchly.
    I did a Google search, they come up with some good info, but not how to connect to the table that is sitting on my hdd, as far as i can tell. Thanks.

    If you're a total newbie to JDBC, you should give this a look:
    http://java.sun.com/docs/books/tutorial/jdbc/
    You need a JDBC driver to connect to a database. There's a JDBC-ODBC bridge driver that comes with the JDK (class sun.jdbc.odbc.JdbcOdbcDriver), but usually the vendor that supplies your database has one available for download. (M$ Access is usually accessed using the bridge driver.)
    Your app should not be creating that table. It's more typical for the database to already exist, and your app simply connects to it. You'd work with a DBA to design, implement, and populate the schema before your app was turned on.

  • JSP Refresh Problems with Weblogic 8.1

    While Integration testing with Weblogic 8.1, when I make any changes in the Java classes (like interface changes), the JSPs are not able to recognize them. If the interface being used by a JSP changes, the JSP starts giving compilation errors. The other Java classes of the project though, run fine with the changes.
    Have wasted a lot of time in this situation . PLEASE ANY1 HELP!!!
    regards,
    SR

    Not sure on the first problem, store-version-in-cache is a valid element. Make sure you are using the same version of the Mapping Workbench and the runtime library. Please attach the XML for the version locking policy that was generated and the error message.
    The abstract method error seems to indicate that the setFetchSize method is missing on your driver.
    setFetchSize has been part of JDBC and JDK since JDBC 2.0/JDK 1.2, how old is the driver that you are trying to use? I noticed the COM is uppercase, so I assume this is a very old driver, can you use the more update version? TopLink requires JDK 1.3 support as a minimum.

Maybe you are looking for

  • Problem with a check box in SBO 2004

    Hi I have created a form in screen painter which is linked to a user defined object. All the text fields are being saved ok to the table. I have just added some check box's but there not working correctly. I can tick the box but not deselect it. It d

  • Can't access my dvr from safari

    Hi, I have a problem with safari.  I can't access my dvr from the browser. After I sign in to my dvr webpage this message comes instead of loading java: The requested URL was not found on this server I have this message when I try with Mozilla: Cache

  • Development Plans

    Hi, When I tried to test the Development plan in TSM - SAP_SR_TMC_TMS_6 getting the below error, When I tested service HRTMC_TA_DEV_PLAN getting the same error. But when I tried in MSS Talent Assessment iView i am able to see employees under Developm

  • E52-Product code:0578077-Defects still not rectifi...

    I have an E-52 with product code 0578077 bought from Singapore (Aug 1st week) with language set 14.02 and firmware version 021.013 Some defects on the phone i noticed BEFORE the firmware update were (some of these could be product specific while othe

  • I get an error message when I connect my 6g nano saying that it cannot be synced then the number 13019

    I get an error message when I connect my 6G nano saying it cannot be synced then the number 13019?