数据库连接问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库连接问题相关的知识,希望对你有一定的参考价值。

一开始是连接sqlserver的 我修改成连接mysql的 报错

警告: Could not obtain connection to query metadata
java.sql.SQLException: Connections could not be acquired from the underlying database!
求大神指导

这是jdbc.properties里的配置

datasource.type=sqlserver

datasource.driverClassName=com.mysql.jdbc.Driver

#datasource.url=jdbc\:sqlserver\://localhost\:1433;databaseName\=TENDERSYS
datasource.url=jdbc\:mysql\://127.0.0.1\:3306;databaseName\=test

datasource.username=root
datasource.password=123456
datasource.maxActive=50
datasource.maxIdle=2
datasource.maxWait=120000
datasource.whenExhaustedAction=1
datasource.validationQuery=select 1 from dual
datasource.testOnBorrow=true
datasource.testOnReturn=false

c3p0.acquireIncrement=3
c3p0.initialPoolSize=3
c3p0.idleConnectionTestPeriod=900
c3p0.minPoolSize=2
c3p0.maxPoolSize=50
c3p0.maxStatements=100
c3p0.numHelperThreads=10
c3p0.maxIdleTime=600

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.jdbc.batch_size=25
hibernate.jdbc.fetch_size=50
hibernate.show_sql=true
hibernate.connection.release_mode=after_transaction

hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.cache.provider_configuration_file_resource_path=ehcache.xml
hibernate.cache.use_query_cache=true
hibernate.connection.autocommit=true
hibernate.max_fetch_depth=1
hibernate.default_batch_fetch_size=6

SqlModel=insert into \#tableName\# values(?);\r\n

FlushSize=1024
BuildFilePath=d:/sql/

TimeStampFormat=yyyy-MM-dd hh:mm:ss
DateFormat=yyyy-mm-dd

INTEGER=?
VARCHAR='?'
DATE='?'
TIMESTAMP='?'

还需要修改什么呢

参考技术A 说得很明白啊,数据库连接串 有问题啊
若是肯定没有问题看看路径
或者是数据库的问题,看看是否已经启动
一般就是这几方面原因
参考技术B 链接字符串不对:没有 DatabaseName
driverClass:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/test

mysql和sqlserver的jdbc语法不一样

参考:
http://www.cnblogs.com/gulvzhe/archive/2012/08/24/2653867.html
参考技术C 主机:localhost\gsql
port: 7788
用户名这块:sa
pwd: sa的密码
你左边的图上用的是集成身份验证,那是以当前用户运行的。不需要密码

Tomcat5.0.28连接SQLSEVER2000数据库问题

以前系统使用正常,因为安全问题,我修改SQLSEVER2000的密码后数据库就不能连接,因为是新手,不知道应该修改tomcat的哪个地方,因为在ODBC数据源中修改了密码还是没有用。IE的错误提示如下:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

com.ibatis.dao.client.DaoException: Error starting SQL Map transaction. Cause: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败。
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败。
com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransaction.<init>(SqlMapDaoTransaction.java:25)
com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransactionManager.startTransaction(SqlMapDaoTransactionManager.java:48)
com.ibatis.dao.engine.impl.DaoContext.startTransaction(DaoContext.java:82)
com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:60)
$Proxy0.getAccountByLogName(Unknown Source)
cn.hrzsoft.jmsnms.service.ibatisimpl.AccountServiceImpl.getAccountByLogin(AccountServiceImpl.java:30)
cn.hrzsoft.jmsnms.web.struts.LoginForm.validate(LoginForm.java:31)
org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:921)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:206)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
cn.hrzsoft.jmsnms.web.filter.MemberFilter.doFilter(MemberFilter.java:44)
cn.hrzsoft.jmsnms.web.filter.SetEncodingFilter.doFilter(SetEncodingFilter.java:74)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

--------------------------------------------------------------------------------

Apache Tomcat/5.0.28

我又不打算升级tomcat到5.5以上的版本。
请不要提供5.5以上版本的数据源连接办法,5.0.28和5.5以上版本是不一样的。
修改了配置文件还是有错误提示
com.ibatis.dao.client.DaoException: Error starting SQL Map transaction. Cause: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败。
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败。

追加:除了这个设定文件应该还有一个properties的文件,那里设定着driver、url、username、password这四个变量的值。

从错误信息来看,你好像用的是ibatis。
这应该是jdbc连接方法,不是odbc。
你去工程下面找找ibatis的配置文件,在那里修改密码!
参考技术A 恩,应该有个资源文件就是properties扩展名的把里面的password改了应该就可以

以上是关于数据库连接问题的主要内容,如果未能解决你的问题,请参考以下文章

labview与数据库连接问题,求教。

jdbc连接数据库的代码问题jdbc连接mysql数据库

java sql数据连接池的问题?

java和数据库连接问题

如何查询数据库连接不释放,和java程序一直进行链接,这种问题怎么处理

Tomcat5.0.28连接SQLSEVER2000数据库问题