这是我从网上找的一段代码加入到一个MVC的例子。这段代码单独新建一个项目可以正常连接SQL SERVER2005。
但是将这个代码加到MVC的一个WEB服务中 连接不成功
请大家帮我看看为什么出错啊 sqljdbc.jar 也加进去了
package com.sp.model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet; //出现警告the import java.sql.ResultSet is never used
import java.sql.SQLException; //出现警告the import java.sql.SQLException is never used
import java.sql.Statement; //出现警告the import java.sql.Statement is never used/**
* @author
*/
public class ConnDB {
/**
* Log4J Logger for this class
*/ private Connection ct=null;
public Connection getConn() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=spdb1";
String USER = "sa"; //
String PASSWORD = "123"; //
ct = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (java.lang.ClassNotFoundException ce) {
// logger.error("Get Connection error:", ce);
} catch (java.sql.SQLException se) {
// logger.error("Get Connection error:", se);
} catch (Exception e) {
// logger.error("Get Connection error:", e);
}
return ct;
}
}
但是将这个代码加到MVC的一个WEB服务中 连接不成功
请大家帮我看看为什么出错啊 sqljdbc.jar 也加进去了
package com.sp.model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet; //出现警告the import java.sql.ResultSet is never used
import java.sql.SQLException; //出现警告the import java.sql.SQLException is never used
import java.sql.Statement; //出现警告the import java.sql.Statement is never used/**
* @author
*/
public class ConnDB {
/**
* Log4J Logger for this class
*/ private Connection ct=null;
public Connection getConn() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=spdb1";
String USER = "sa"; //
String PASSWORD = "123"; //
ct = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (java.lang.ClassNotFoundException ce) {
// logger.error("Get Connection error:", ce);
} catch (java.sql.SQLException se) {
// logger.error("Get Connection error:", se);
} catch (Exception e) {
// logger.error("Get Connection error:", e);
}
return ct;
}
}
--------->>>>catch的异常都改成
ce.printStackTrace();
--------->>>>catch的异常都改成
ce.printStackTrace();
注意细节上的东西
执行到 ct = DriverManager.getConnection(URL, USER, PASSWORD);
就 抛出异常
catch (Exception e) {
e.printStackTrace();
}
java.security.AccessControlException: access denied (java.net.SocketPermission localhost:1433 connect,resolve)而下面这段程序可以正常连接到SQL SERVER2005 , sqljdbc.jar 放在WebRoot\WEB-INF\lib这个文件里夹里,并且也引入到项目了 ,
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import org.apache.log4j.Logger; /**
* @author Amei
* Amei's FreeSky Studio
*/
public class TestConnSql2k5Bean {
/**
* Log4J Logger for this class
*/
private static final Logger logger =
Logger.getLogger(TestConnSql2k5Bean.class);
private Connection conn = null; public TestConnSql2k5Bean() {
super();
} public void getConnection() {
try {
Class
.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.newInstance();
String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=spdb1";
String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置
String PASSWORD = "123"; // 根据你自己设置的数据库连接密码进行设置
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (java.lang.ClassNotFoundException ce) {
logger.error("Get Connection error:", ce);
} catch (java.sql.SQLException se) {
logger.error("Get Connection error:", se);
} catch (Exception e) {
logger.error("Get Connection error:", e);
}
} public void testConnection() {
if (conn == null)
this.getConnection();
try {
String sql = "SELECT * FROM users";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
logger.debug(rs.getString("userid"));
logger.debug(rs.getString("username"));
logger.debug(rs.getString("email"));
}
rs.close();
stmt.close();
} catch (SQLException e) {
logger.error(e.getMessage(), e);
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
}
}
}
public static void main(String[] args) {
TestConnSql2k5Bean bean = new TestConnSql2k5Bean();
bean.testConnection();
}
}
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
.newInstance()不要吧
.newInstance()我取消了 还是连接不上
不好意思
不过忘了跟大家交代
我现在向连SQL SERVER2005 的例子以前是连的SQL SERVER2000上的。
不过连接SQL SERVER2000 的三个JAR包 我全部都移除了