tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From I D B Major <im5...@compsci.bristol.ac.uk>
Subject Re: Problem accessing two McKoi databases from Tomcat
Date Mon, 26 Jun 2006 15:01:46 GMT
Brian

many thanks problem solved - I had changed server.xml to show that the 
Resource jdbc/mydb was of type type="DataSource" not 
type="javax.sql.DataSource" ! This solved it now works and shows output 
from both databases.

Many, many thanks!

Cheers,

Iain



I D B Major wrote:
> Hi again,
>
> Having renamed both the context-params I get the following error
>
> org.apache.jasper.JasperException: Unable to get connection, 
> DataSource invalid: "java.lang.NullPointerException"
>
>
> Which sort of implies that the default name of 
> 'javax.servlet.jsp.jstl.sql.dataSource'  must be used once. However if 
> I include it for one context-param and try to access both (say I use 
> 'javax.sql.dataSource' for the other) then the error message reverts 
> to the java.sql.SQLException: No suitable driver (which is at least 
> different from where I was before I specified the dataSource attribute 
> in the <sql > tags.
>
> This leaves me still unable to access the second database.
>
> any further suggestions will be very welcome!
>
> Iain
>
>
>
>
> I D B Major wrote:
>> Hi Brian,
>>
>> many thanks for the suggestions, I'm sure I'm now close, but I'm not 
>> quite out of the trees yet. I have looked up the spec and followed 
>> your suggestion to specify the datasource and I have changed one of 
>> the context-params to simply dataSource. This means I now no longer 
>> get the same error message but instead I get an error message at the 
>> point where I call ShowTest (which is the context-param I changed) 
>> which has the root cause;
>>
>> javax.servlet.ServletException: Unable to get connection, DataSource 
>> invalid: "java.sql.SQLException: No suitable driver"
>>
>> I'm not sure why this is. If you can see it please let me know.
>>
>> Once again many thanks,
>>
>> Iain.
>>
>>
>>
>> Brian Buchanan wrote:
>>
>> As I understand your problem, you have two JDBC Datasources setup,
>> jdbc/mydb and jdbc/curzon, and you are using JSTL which means to me that
>> your JSP pages have <sql:...> tags in them.
>>
>> I think you are just missing the fact that the <sql:> tags *default* to
>> the JDBC connection as specified by the context param
>> javax.servlet.jsp.jstl.sql.dataSource.  That's only the DEFAULT value.
>> You can override the JDBC source in the tag:
>>
>> You need the JSTL specification from here:
>> http://java.sun.com/products/jsp/jstl/index.jsp
>>
>> and checkout page 121.
>>
>> In short: specify dataSource attribute to override the default.
>>
>> Finally, you should only define the value for the context-param
>> 'javax.servlet.jsp.jstl.sql.dataSource' once in your web.xml.  It's only
>> setting the default for the context so having the second is only
>> overriding the first. (or the otherway around)
>>
>> sample.jsp (untested)
>> ----------
>> <%@ page language='java'%>
>> <%@ taglib prefix='sql' uri='http://java.sun.com/jsp/jstl/sql' %>
>> <%@ taglib prefix='c'   uri='http://java.sun.com/jsp/jstl/core' %>
>> <sql:query var='testmydb' dataSource='jdbc/mydb'>
>> select * from Film
>> </sql:query>
>> <sql:query var='testcurzon' dataSource='jdbc/curzon'>
>> select * from Film
>> </sql:query>
>> ... etc.
>>
>>
>> I HTH.
>>
>> ._. Brian
>>
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: users-help@tomcat.apache.org
>>
>>
>>
>>> -----Original Message-----
>>> From: I D B Major <im5033@compsci.bristol.ac.uk>
>>> Date: Mon, 26 Jun 2006 09:44:37 +0100
>>>
>>>  
>>>> Hi all,
>>>>
>>>> please can someone confirm whether I need to clarify anything in my 
>>>> question or take a different approach since I have had no replies and
>>>> am anxious to make sure I am doing all I can to seek help in the 
>>>> correct way. Please correct me if my approach is wrong!
>>>>
>>>> many thanks
>>>>
>>>>
>>>> Iain
>>>>
>>>>
>>>> I D B Major wrote:
>>>>   
>>>>> Hi
>>>>>
>>>>> I am a student trying to set up a project using JSP with JSTL 
>>>>> custom tags to provide dynamic pages to allow a web-based 
>>>>> ticketing system for independent cinemas. I am at the early stages 
>>>>> of testing that I can use the technologies. I have installed and 
>>>>> configured Tomcat to allow password protection to the site and I 
>>>>> have embedded a McKoi database which I can access and use to do 
>>>>> insert, update and delete queries using a test JSP page which has 
>>>>> customised JSTL tags that are
>>>>> used to run the SQL query on the database.
>>>>>
>>>>> I am now trying to display data from two separate databases. I can
>>>>>       
>>>> get   
>>>>> each to display separately but not both at once. My issues seem to be
>>>>> around the details held in web.xml which are as follows;
>>>>>
>>>>>    <context-param>
>>>>>        <param-name>javax.servlet.jsp.jstl.sql.dataSource</param-name>
>>>>>        <param-value>jdbc/mydb</param-value>
>>>>>    </context-param>
>>>>>      <resource-ref>
>>>>>        <description>DB Connection</description>
>>>>>        <res-ref-name>jdbc/mydb</res-ref-name>
>>>>>        <res-type>javax.sql.DataSource</res-type>
>>>>>        <res-auth>Container</res-auth>
>>>>>    </resource-ref>
>>>>>      <context-param>
>>>>>        <param-name>javax.servlet.jsp.jstl.sql.dataSource</param-name>
>>>>>        <param-value>jdbc/curzon</param-value>
>>>>>    </context-param>
>>>>>      <resource-ref>
>>>>>        <description>DB Connection</description>
>>>>>        <res-ref-name>jdbc/curzon</res-ref-name>
>>>>>        <res-type>javax.sql.DataSource</res-type>
>>>>>        <res-auth>Container</res-auth>
>>>>>    </resource-ref>
>>>>>
>>>>> If I change the name of either of the <param-name> then the other
>>>>>       
>>>> will   
>>>>> work and allow database access to that database (ie <Resource>
>>>>>       
>>>> details   
>>>>> in server.xml are correctly recorded) but the one which is altered is
>>>>> not available so that Tomcat displays an error message to say the 
>>>>> table requested is not found;
>>>>>
>>>>> org.apache.jasper.JasperException: javax.servlet.jsp.JspException: 
>>>>>      select * from Film
>>>>>
>>>>>  : Table 'APP.Film' was not found.
>>>>>
>>>>> I have googled and googled, read the apache website in all areas I
>>>>>       
>>>> can   
>>>>> think of to look up and have asked my tutor for help. All without 
>>>>> success. I have discovered that the <param-name> given above is
a 
>>>>> default so I tried adjusting the names (setting first one and then
>>>>>       
>>>> the   
>>>>> other to javax.servlet.jsp.jstl.dataSource.other or  
>>>>> javax.servlet.jsp.jstl..otherdataSource or other.dataSource) and even
>>>>> removing the <context-param> altogether but none of these work.
>>>>>
>>>>> Please can someone point me in the right direction for how to find
>>>>>       
>>>> out   
>>>>> what the <param-name> needs to be set to in order to allow two

>>>>> databases to be accessed at once?
>>>>>
>>>>> many thanks,
>>>>>
>>>>> Iain M
>>>>>
>>>>>       
>>
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message