Hi,

Glad to hear that this is going to be fixed.

Do you have a sample context format to work with connectionstring?

Sent from Outlook for Android<https://aka.ms/AAb9ysg>

________________________________
From: Mark Thomas <ma...@apache.org>
Sent: Wednesday, 8 March 2023, 20:14
To: users@tomcat.apache.org <users@tomcat.apache.org>
Subject: Re: Encountered java.sql.sqlexception "the url cannot be null" 
starting from tomcat 9.0.71

On 08/03/2023 11:58, Mark Thomas wrote:
> Thanks,
>
> I am able to recreate that stack trace. I am looking into the root cause
> now.

Found it.

There was a change in Commons DBCP to use "connectionString" rather than
url internally and this was mistakenly applied to the lookup of the
"url" configuration setting in DriverAdapterCPDS.

I'll get this fixed for the April round of releases.

If you need a workaround, if you add a configuration setting for
connectionString="..." that has the same vaue as url="..." that should
get things working.

Mark


>
> Mark
>
>
> On 08/03/2023 09:03, Poh Wei Xiang wrote:
>> Hi,
>>
>> java.sql.SQLException: The url cannot be null
>>     java.sql.DriverManager.getConnection(Unknown Source)
>>     java.sql.DriverManager.getConnection(Unknown Source)
>>     
>> org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS.getPooledConnection(DriverAdapterCPDS.java:396)
>>     
>> org.apache.tomcat.dbcp.dbcp2.datasources.InstanceKeyDataSource.testCPDS(InstanceKeyDataSource.java:1225)
>>     
>> org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource.registerPool(PerUserPoolDataSource.java:708)
>>     
>> org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource.getPooledConnectionAndInfo(PerUserPoolDataSource.java:614)
>>     
>> org.apache.tomcat.dbcp.dbcp2.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:206)
>>     com.avaya.sce.runtime.jdbc.Database.open(Database.java:93)
>>     
>> org.apache.jsp.jsp.validate_002ddb_jsp._jspService(validate_002ddb_jsp.java:721)
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>>     
>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
>>     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>>     
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
>>     
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>>     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
>>     
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
>>     
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
>>     
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
>>     
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
>>     
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
>>     
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
>>     
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
>>     
>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:673)
>>     
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
>>     
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
>>     
>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389)
>>     
>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
>>     
>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926)
>>     
>> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791)
>>     
>> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>>     
>> org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
>>     
>> org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
>>     
>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>>     java.lang.Thread.run(Unknown Source)
>>
>> With Regards,
>> Poh Wei Xiang
>> Senior Engineer
>>
>> D: +65 6826 3865
>> A: 6 Serangoon North Ave 5, #03-16, Singapore 554910
>> W: www.nxg-c.com<http://www.nxg-c.com>
>> Service Helpdesk: +65 6842 2300
>> Service Email: serv...@nxg-c.com
>>
>> Follow us:
>>
>>
>> NxGen Communications, a subsidiary of TeleChoice International
>> Limited, a company of ST Telemedia Pte Ltd
>>
>> This email is intended solely for the use of the addressee and may
>> contain information that is confidential or subject to legal
>> professional privilege. If you receive this email in error, please
>> immediately notify the sender and delete the email.
>>
>> -----Original Message-----
>> From: Mark Thomas <ma...@apache.org>
>> Sent: Wednesday, 8 March 2023 4:35 pm
>> To: users@tomcat.apache.org
>> Subject: Re: Encountered java.sql.sqlexception "the url cannot be
>> null" starting from tomcat 9.0.71
>>
>> On 08/03/2023 03:50, Poh Wei Xiang wrote:
>>> Hi,
>>>
>>>
>>> I am encountering an issue validating my application database
>>> connectivity, it throws java.sql.SQLException: The url cannot be null
>>> upon validation.
>>
>> Full stack trace please.
>>
>> Mark
>>
>>
>>>
>>>
>>>
>>> The application is developed using Avaya’s Orchestration designer
>>> (Eclipse) and database validation works until 9.0.70.
>>>
>>>
>>>
>>> I hope someone can shed some light on how to resolve this issue as
>>> from time to time, the customer will require us to upgrade tomcat to
>>> resolve vulnerability issues.
>>>
>>>
>>>
>>> Below is the context file for the application.
>>>
>>>
>>>
>>> <?xml version="1.0" encoding="utf-8" standalone="no"?>
>>>
>>> <Context docBase="./HDB_AVMS" path="/HDB_AVMS" reloadable="true">
>>>
>>>       <Resource auth="Container"
>>> driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
>>> factory="org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS"
>>> name="jdbc/AVMSCPDS"
>>> type="org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS"
>>> url="jdbc:sqlserver://localhost:1433;databaseName=HDB_AVMS"/>
>>>
>>>       <Resource auth="Container"
>>> dataSourceName="java:/comp/env/jdbc/AVMSCPDS" defaultMaxActive="10"
>>> defaultMaxIdle="5" defaultMaxWait="10000"
>>> factory="org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSourceFactory"
>>>  logAbandoned="true" name="jdbc/AVMS" removeAbandoned="true" 
>>> removeAbandonedTimeout="300" testOnBorrow="false" 
>>> type="org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource" 
>>> validationQuery="select 1 from AnyTable"/>
>>>
>>> </Context>
>>>
>>>
>>> Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for
>>> Windows
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


Reply via email to