我已经尝试了几乎所有可以找到的一切,如果有人能够帮助我,我将永远感激不已(在我的时间里,我有更多的空闲时间)。
基本上,我在Tomcat
7.0中有一个错误(都是在Eclipse中运行并通过startup.bat运行时),该错误表示一旦动态Web应用程序开始访问数据,就会出现此错误:
Cannot create JDBC driver of class '' for connect URL 'null'
java.lang.NullPointerException
at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
我的tomcat \ lib目录中有sqljdbc4.jar文件。我也尝试过将它放在我的WEB-INF / lib甚至JDK
lib目录中。我认为sqljdbc.jar不起作用,因为它是为比我的更老的JDK / JRE安装而设计的。
我听说context.xml和web.xml文件对于使其正常工作至关重要。
web.xml代码段:
<resource-ref>
<description>LBI DB Connection</description>
<res-ref-name>jdbc/LBIDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref>
<description>OR DB Connection</description>
<res-ref-name>jdbc/ORDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
context.xml
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/LBIDB" auth="Container"
type="javax.sql.DataSource" username="***" password="***" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver:localhost;DatabaseName=YYBackOffice;SelectMethod=cursor;"
maxActive="8" maxIdle="4"/>
<Resource name="jdbc/ORDB" auth="Container"
type="javax.sql.DataSource" username="***" password="***" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver:localhost;DatabaseName=XXBackOffice;SelectMethod=cursor;"
maxActive="8" maxIdle="4"/>
最终,“上下文”选项卡确实有一个关闭选项卡。
请帮忙!如果您需要更多信息,请告诉我。另外,我不确定应该修改哪个context.xml,在Tomcat目录中有2个,在/
conf文件夹中有1个,在webapps / appname / META-INF文件夹中有1个。抱歉,如果听起来我有点菜鸟,那是因为我在!
另外,我已经看到了context.xml的url =“
…”部分的许多不同示例,其中一些包括端口号。我已经在线尝试了一些方法,但是似乎没有任何效果(在线完全无济于事是我的确切数据环境,而且我认为此应用程序在给定的时间查询两个不同的DB很有挑战性)。
有什么想法吗?
在context.xml
你的web应用程序的META-INF
文件夹将优先于一个在/ conf目录,这是真的只是一个普通的默认值。
开源JTDS SQL Server驱动程序比Microsoft更好。除非有最重要的原因,否则请改用它。将其放置在tomcat / lib文件夹中的唯一原因是,如果在server.xml中声明数据库的GlobalNamingResource,否则可以将其放置在应用程序的/ lib文件夹中。
JTDS的JDBC URL为: jdbc:jtds:sqlserver://hostname/databasename
JTDS的连接驱动程序类为: net.sourceforge.jtds.jdbc.Driver
我尝试使用TNS URL、用户名和密码连接到Oracle 11i数据库。JNDI正在成功查找数据源,但我无法获得连接。相反,我看到下面的堆栈跟踪。 我的Maven设置如下。 我的Spring MVC应用程序已经部署到Tomcat 8。我的oracle jar文件位于位置。如下所示 我的web.xml配置 我不确定我做错了什么。我能够使用DriverManager API成功连接。我看了下面的帖子,
我正在尝试使用Tomcat 8服务器和Oracle 11g数据库在STS中设置Spring 4 MVC应用程序,但在设置数据源时遇到了问题。 我知道Spring设置没有问题,因为没有数据源,它可以正常工作。 下面是数据源 bean: 我的web.xml资源引用: 我的Tomcat服务器。xml资源: - 还有我的背景.xml 我得到的错误是: 错误:无法从java.sql获取JDBC连接。SQLE
问题内容: 我目前正在为大学的一个班级做项目。我正在学习有关连接和操作数据库的信息,我们正在使用Microsoft .accdb文件。 这是我到目前为止所拥有的。 当寻找“ sun.jdbc.odbc.JdbcOdbcDriver”时,我得到以下输出。 似乎很容易解决。看来我想念司机或类似的东西。但是,我很难找到解决方法。JDK随附驱动程序吗?我需要单独下载吗?是否取决于我的操作系统?(Mac O
我创建了一个属性文件 我创建了一个连接池 然后我就有问题了。我搜索了一些Anwser,他们说司机需要像上课一样注册。forName(com.mysql.jdbc.Driver)。但我的驱动程序版本似乎能够自行注册,所以这个解决方案无法工作。 错误: 2018年10月2日上午9:46:09组织。阿帕奇。卡塔琳娜。果心StandardContext重新加载信息:重新加载名为[/WEB13]的上下文已完
主要内容:JDBC驱动程序是什么?,JDBC驱动程序类型,应该使用哪个驱动程序?JDBC驱动程序是什么? JDBC驱动程序在JDBC API中实现定义的接口,用于与数据库服务器进行交互。 例如,使用JDBC驱动程序,可以通过发送SQL或数据库命令,然后使用Java接收结果来打开数据库连接并与数据库进行交互。 JDK附带的包包含各种类,其类的行为被定义,实现在第三方驱动程序中完成。 第三方供应商在其数据库驱动程序中实现接口。 JDBC驱动程序类型 JDBC驱动程序实现因Java
即使驱动程序类名已定义,我也会收到此错误 Java语言lang.IllegalStateException:无法加载驱动程序类:com。mysql。jdbc。组织的驱动程序。springframework。util。明确肯定state(Assert.java:392)~[spring-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]位于org。springframewor