Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();
String url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb“;
//mydb为数据库
String user=“sa“;
String password=““;
Connection conn= DriverManager.getConnection(url,user,password);
驱动包没有问题,数据库也没有什么问题,但是就是连接不上。错误总是出在第一行,高手指点一下!!
是不是数据库有什么问题啊!!
String url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb“;
//mydb为数据库
String user=“sa“;
String password=““;
Connection conn= DriverManager.getConnection(url,user,password);
驱动包没有问题,数据库也没有什么问题,但是就是连接不上。错误总是出在第一行,高手指点一下!!
是不是数据库有什么问题啊!!
这句不需要.newInstance()String url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb“;
这句的DatabaseName 改为databaseName
String url="jdbc:mysql://localhost:1433/mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
驱动:sun.jdbc.odbc.JdbcOdbcDriver
URL:jdbc:odbc:datasource_name
-------------------------------oracle------------------
驱动:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@<machine_name><:port>:dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1521
-------------------------------mysql-------------------
驱动:org.gjt.mm.mysql.Driver
or: com.mysql.jdbc.Driver
URL:jdbc:mysql://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认3306
---------------------------SQL Server------------------
驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver
URL:jdbc:microsoft:sqlserver://<machine_name><:port>;DatabaseName=<dbname>
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是1433
--------------------------DB2--------------------------
驱动:com.ibm.db2.jdbc.app.DB2Driver
URL:jdbc:db2://<machine_name><:port>/dbname
注:machine_name:数据库所在的机器的名称;
port:端口号,默认是5000
是没有用的.
Class.forName()
方法,jvm就会加载这个驱动类到方法区.而在加载的过程中.这个类有个静态块,这个静态块会new一个自己的实例并注册到DriverManager类,
然后你使用DriverManager.getConnection()方法用就可要了
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class SqlConn {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://projectserver2:1433;databaseName=JiuQuan";
String user= "sa";
String passwd = "";
Connection conn= DriverManager.getConnection(url,"sa",passwd);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select getdate() value");
while(rs.next()){
System.out.println(rs.getString(1));
}
}
}
Data Managemenr->Connectivity->Driver definitions点击右边的
Add按钮,弹出的窗体有各数据库的链接方式以及他们需要的驱动名
public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//数据库驱动
public final static String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=bbs";
public final static String DBNAME = "admin"; //数据库用户名
public final static String DBPASS = "admin"; //数据库密码
//得到数据库连接
public Connection getConn() throws ClassNotFoundException, SQLException{
Class.forName(DRIVER); //注册驱动
Connection conn = DriverManager.getConnection(URL,DBNAME,DBPASS); //返回连接
return conn;
}
//释放资源
public void closeAll(Connection conn,PreparedStatement pstmt,ResultSet rs){
//如果rs不空,关闭rs
if(rs != null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
//如果pstmt不空,关闭pstmt
if(pstmt != null){
try{
pstmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
//如果conn不空,关闭conn
if(conn != null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
//执行sql语句,可以进行增,删,改的操作,不能执行查询
public int executeSQL(String preparedSql,String[] param){
Connection conn = null;
PreparedStatement pstmt = null;
int num = 0;
//处理SQL,执行SQL
try{
conn = getConn(); //得到数据库连接
pstmt = conn.prepareStatement(preparedSql);
if(param != null){
for(int i=0;i<param.length;i++){
pstmt.setString(i+1, param[i]); //设置参数
}
}
num = pstmt.executeUpdate(); //执行sql语句
}catch(ClassNotFoundException e){
e.printStackTrace(); //处理ClassNotFoundException异常
}catch(SQLException e){
e.printStackTrace(); //处理SQLException异常
}finally{
closeAll(conn,pstmt,null); //释放资源
}
return num;
}
}
Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1\\SQLEXPRESS;DatabaseName=xxx;", "sa", "12345");
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“).newInstance();不需要netInstance貌似有些书误导了