主题 : 3.1.1 更改数据库问题 |
级别: 秀才
![]() |
1# 发表于:2011-08-25 19:19:10 IP:124.180.*.*
|
||||
---|---|---|---|---|---|
级别: 秀才
![]() |
2# 发表于:2011-08-25 19:23:03 IP:124.180.*.*
这是报的错误:
严重: Servlet.service() for servlet Install threw exception java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:168) at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113) at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160) at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188) at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2472) at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:597) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1076) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2142) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:773) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:207) at com.jeecms.cms.Install.getConn(Install.java:43) at com.jeecms.cms.Install.changeDbCharset(Install.java:80) at com.jeecms.cms.InstallServlet.doPost(InstallServlet.java:41) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) |
||
---|---|---|---|
级别: 秀才
![]() |
3# 发表于:2011-08-25 19:29:38 IP:124.180.*.*
继续记录也让有问题的人能找到答案:还有个地方
WEB-INF/congif/application-context.xml 源代码:hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect 更改后:hibernate.dialect=org.hibernate.dialect.SQLServerDialect |
||
---|---|---|---|
级别: 秀才
![]() |
4# 发表于:2011-08-25 19:39:26 IP:124.180.*.*
继续调试:
package com.jeecms.cms; public static Connection getConn(String dbHost, String dbPort, String dbName, String dbUser, String dbPassword) throws Exception { Class.forName("com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver").newInstance(); String connStr = "jdbc:mysql://" + dbHost + ":" + dbPort + "/" + dbName + "?user=" + dbUser + "&password=" + dbPassword + "&characterEncoding=utf8"; Connection conn = DriverManager.getConnection(connStr); return conn; } 更改: public static Connection getConn(String dbHost, String dbPort, String dbName, String dbUser, String dbPassword) throws Exception { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String connStr = "jdbc:sqlserver://" + dbHost + ":" + dbPort + ";databasename=" + dbName; Connection conn = DriverManager.getConnection(connStr); return conn; } 继续试验 |
||
---|---|---|---|
级别: 秀才
![]() |
5# 发表于:2011-08-25 19:46:56 IP:124.180.*.*
有一句写错了。。
继续改: public static Connection getConn(String dbHost, String dbPort, String dbName, String dbUser, String dbPassword) throws Exception { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String connStr = "jdbc:sqlserver://" + dbHost + ":" + dbPort + ";databasename=" + dbName; Connection conn = DriverManager.getConnection(connStr,dbUser,dbPassword); return conn; } 这个是正确的。。 |
||
---|---|---|---|
级别: 秀才
![]() |
6# 发表于:2011-08-25 19:53:02 IP:124.180.*.*
在Install.java
中还有一处: public static void createDb(String dbHost, String dbPort, String dbName, String dbUser, String dbPassword) throws Exception { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); String connStr = "jdbc:sqlserver://" + dbHost + ":" + dbPort + ";databasename=" + dbName; Connection conn = DriverManager.getConnection(connStr,dbUser,dbPassword); Statement stat = conn.createStatement(); String sql = "drop database if exists " + dbName; stat.execute(sql); sql = "create database " + dbName + " CHARACTER SET UTF8"; stat.execute(sql); stat.close(); conn.close(); } |
||
---|---|---|---|
级别: 秀才
![]() |
9# 发表于:2011-08-25 20:04:17 IP:124.180.*.*
WebRoot/install/db下jeecms-db-3.1.1-final.sql 找个工具 格式化一下。。不然 mssql 报错的。。 我也不知道我的办法对不对。。。 请斑竹。。大家 都来 发表一下看法。 |
||
---|---|---|---|