
1.JDBC连接SQL Server的驱动安装 ,前两个是属于数据库软件,正常安装即可(注意数据库登陆不要使用windows验证)
<1>将JDBC解压缩到任意位置,比如解压到C盘program files下面,并在安装目录里找到sqljdbc.jar文件,得到其路径开始配置环境变量
在环境变量classpath 后面追加 C:\Program Files\Microsoft SQL Server2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar
<2>设置SQLEXPRESS服务器:
a.打开SQL Server Configuration Manager ->SQLEXPRESS的协议 ->TCP/IP
b.右键单击启动TCP/IP
c.双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
d.重新启动SQL Server 2005服务中的SQLEXPRESS服务器
e.关闭SQL Server Configuration Manager
<3>打开 SQL Server Management Studio,连接SQLEXPRESS服务器, 新建数据库,起名字为sample
<4>打开Eclipse
a.新建工程->Java ->Java project,起名为Test
b.选择eclipse->窗口->首选项->Java->installed JRE 编辑已经安装好的jdk,查找目录添加sqljdbc.jar
c.右键单击目录窗口中的Test, 选择Build Path ->Configure Build Path..., 添加扩展jar文件,即把sqljdbc.jar添加到其中
<5>编写Java代码来测试JDBC连接SQL Server数据库
import java.sql.*
public class Test {
public static void main(String[] srg) {
//加载JDBC驱动
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
//连接服务器和数据库sample
String dbURL = "jdbc:sqlserver://localhost:1433DatabaseName=sample"
String userName = "sa"//默认用户名
String userPwd = "123456"//密码
Connection dbConn
try {
Class.forName(driverName)
dbConn = DriverManager.getConnection(dbURL, userName, userPwd)
System.out.println("Connection Successful!")//如果连接成功 控制台输出
} catch (Exception e) {
e.printStackTrace()
}
}
}
执行以后就可以连接到sample数据库了。
在这里要插入一个问题,就是数据库占用的端口问题。
百度了一下有两种方法。
方法一:
打开数据库,新建查询,输入code,
可以看到端口号为11588
方法二:
在这里我还要插入一个我遇到的问题,就是IPALL的TCP动态端口是0,,,我的是0,,,
问题是SQLNAME的TCP/IP协议未开启
解决办法就是把它开启,然后再把SQLNAME的服务重新启动,这是必须的,否则更改无效。
还可以用cmd的netstat -an命令查看端口是否在使用
可以看到正常使用
把url写好之后try catch还是报错了,各种百度之后才发现问题,,,原来我下载的是SQL server 2008 然而url写的是 mysql 这两个数据库不是一家人。。。
于是乎,我又重新下载SQL的jar,重新加入项目,重新写代码
[java] view plain copy
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
String url = "jdbc:sqlserver://127.0.0.1:11588DatabaseName=test728"
String user = "sa"
String password = "123456"
Connection con = DriverManager.getConnection(url,user,password)
到这里try catch一下没有任何异常,,下面就连接数据库插入一个表试试吧
[java] view plain copy
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
String url = "jdbc:sqlserver://127.0.0.1:11588DatabaseName=test728"
String user = "sa"
String password = "123456"
Connection con = DriverManager.getConnection(url,user,password)
String sql = "insert into dbo.StuInfo (username,password,sex,age) values('张三','123','男',22)"
Statement sta = con.createStatement()
sta.executeUpdate(sql)
con.close()
} catch (SQLException e) {
// TODO: handle exception
System.out.println("error")
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
System.out.println("class error")
}
编译运行无异常
以上是我本人遇到的问题,算挺多的
欢迎指正。
这个问题,我有经验。程序没有错的情况下。先停止mysql服务,然后打开命令行。输入mysqld_safe --skip-grant-tables
然后输入 mysql -u root
然后修改密码update user set Password = PASSWORD('新密码') where User ='root'
当然,密码也可以不改
然后flus privileges接着quit退出
然后重启mysql。
搞定
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)