我的DBMS是sqlserver,就以随qlserver为例,进行java连接到数据库的相关配置
测试代码,此代码实现在数据库中创建一个Student表
import java.sql.*;
import java.io.*;
import java.util.*;
public class Test1{
public static void main(String[] args) throws Exception{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:60399;DatabaseName=test";
Connection conn = DriverManager.getConnection(url,"sa","94yahuijuan是");
Statement stmt = conn.createStatement();
String sql = "CREATE TABLE Student(Sno NCHAR(9),Sname NCHAR(10),Class NCHAR(10),Age INT,Sex NCHAR(2))";
int num = stmt.executeUpdate(sql);
System.out.println("CREATE"+num);
conn.close();
stmt.close();
}
catch(SQLException e){
e.printStackTrace();}
}}
sqlserver的url是 jdbc:sqlserver://localhost:60399;DatabaseName=test,其中localhost表示本机,60399是个人机的端口号(视不同的电脑而定),test是在sqlserver中自己创建的数据库
开始时运行上面的代码,出现下面的异常,该异常说明该项目中没有sqlserver的驱动
下载sqlserver驱动,打开驱动包,将sqlserver4.jar文件复制到项目中,此时项目中就会出现这个jar文件
然后右键sqljdbc4.jar---Build path -- Add to build path 新建一个路径,再次运行代码便不再是刚才的错误,接着我们解决现在的问题
打开sqlserver的配置工具--打开SQLserverConfiguration Manarge
SQLserver网络配置--MSSQLSERVER的协议--TCP/IP,开始为禁用,右击启用TCP/IP协议,然后右击TCP/IP协议
如图查找IPAll的端口值,这便是localhost后面本机的端口号
最后重新启动sqlserver服务 SQLServer服务--SQL Server(MSSQLSERVER)
再次运行java代码就不会再有异常,运行代码后,在sqlserver的test数据库中就会出现新建的Student表
需要注意的是IPAll中的TCP动态端口和端口不能设置成一个值,否则有可能引起端口冲突,导致SQLServer服务无法启动。