JDBC连接SQL Server

下载jdbc驱动包

下载地址,我下载的是exe版本的,其实是格自解压包。下载完毕之后,双击运行,会解压在当前目录下。

Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\auth\x64\sqljdbc_auth.dll文件 复制到C:\Windows\SysWOW64目录下。(64bit系统)

Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\auth\x86\sqljdbc_auth.dll 文件 复制到 C:\Windows\System32 (32位系统,未经过验证)

然后将  Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\chs\sqljdbc4/jar 包导入到项目中。

源代码

 1 import java.sql.*;
 2 public class Conn{
 3     public static void main(String[] args) {
 4       String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
 5 //SQL数据库引擎
 6       String connectDB="jdbc:sqlserver://ABYSS-PC\\MYABYSS:64160;DatabaseName=master";
 7 //数据源  !!!!注意若出现加载或者连接数据库失败一般是这里出现问题
 8      // 我将在下面详述
 9       try {
10     //加载数据库引擎,返回给定字符串名的类
11           Class.forName(JDriver);
12       }catch(ClassNotFoundException e)
13       {
14        //e.printStackTrace();
15           System.out.println("加载数据库引擎失败");
16           System.exit(0);
17       }
18       System.out.println("数据库驱动成功");
19
20       try {
21           String user="sa";
22    //这里只要注意用户名密码不要写错即可
23           String password="*liluotinghua33*";
24           Connection con=DriverManager.getConnection(connectDB,user,password);
25 //连接数据库对象
26           System.out.println("连接数据库成功");
27           Statement stmt=con.createStatement();
28 //创建SQL命令对象
29
30        //创建表
31            System.out.println("开始创建表");
32           //创建表SQL语句
33            String query= "create table TABLE1(ID
34                                  NCHAR(2),NAME NCHAR(10))";
35            stmt.executeUpdate(query);//执行SQL命令对象
36            System.out.println("表创建成功");
37
38            //输入数据
39            System.out.println("开始插入数据");
40            String a1="INSERT INTO TABLE1 VALUES(‘1‘,‘旭哥‘)";
41                 //插入数据SQL语句
42            String a2="INSERT INTO TABLE1 VALUES(‘2‘,‘伟哥‘)";
43            String a3="INSERT INTO TABLE1 VALUES(‘3‘,‘张哥‘)";
44            stmt.executeUpdate(a1);//执行SQL命令对象
45            stmt.executeUpdate(a2);
46            stmt.executeUpdate(a3);
47            System.out.println("插入数据成功");
48
49            //读取数据
50            System.out.println("开始读取数据");
51            ResultSet rs=stmt.executeQuery("SELECT * FROM
52                  TABLE1");//返回SQL语句查询结果集(集合)
53        //循环输出每一条记录
54        while(rs.next()){
55         //输出每个字段
56      System.out.println(rs.getString("ID")+"\t"+rs.getString("NAME"));
57        }
58        System.out.println("读取完毕");
59
60        //关闭连接
61        stmt.close();//关闭命令对象连接
62        con.close();//关闭数据库连接
63       }catch(SQLException e){
64        e.printStackTrace();
65        System.out.print(e.getErrorCode());
66        //System.out.println("数据库连接错误");
67        System.exit(0);
68       }
69  }
70 }    

出现的问题

String connectDB="jdbc:sqlserver://ABYSS-PC\\MYABYSS:64160;DatabaseName=master";

先讲解一下这段代码。

其中ABYSS-PC\\MYABYSS 表示服务器名字,两个反斜杠表示转义。什么是服务器的名字呢,如下图:

64160 表示端口号,一般情况下默认的是1433,特殊情况下如我的便是随机分配的。

验证端口号:

1、打开任务管理器,选择服务,查看SQL Server实例的 PID号为7284,我的电脑运行了两个数据库实例,我只连接第一个实例。

2、打开命令提示符。输入 netstat -ano。 7284所对应的端口号是64160.

DatabaseName=master;  master表示数据源。如图。

在运行还出现一个问题就是,用windows身份验证可以登录数据库,但是使用SQL Server身份验证却提示失败。

一般出现错误会报告错误代码,我这里报告的错误代码是18456 。你可以用谷歌搜索一下: SQL Server 2008 错误代码 18456.

这里我简单的提供一下解决办法。

首先windows帐号是可以登录的。

查找问题的过程:
第一步: 启动所有与SQL有关的服务,问题依旧;
第二步: 查看windows防火墙,被默认启动了,不启动选择项被Disabled。两个提示“由于安全考虑,某些设置由组策略控制”“Windows防火墙正在使用您的域设置”,先用gpedit.msc打组策略编辑器,机算机配置--管理模板--网络--网络连接--Windows防火墙--标准配置文件,查看右边各选项属性,都是未配置状态,问题不在这里。
第三步:用windows帐号登录,连接成功后,右击实例,选择属性->安全性。确定“服务器身份验证”选择的是“SQL Server和Windows身份验证模式”

通过这三个步骤,问题就差不多解决了。

还以一点,别忘了给sa用户登录权限。

双击sa帐号

选择状态。

时间: 2024-10-20 17:45:01

JDBC连接SQL Server的相关文章

使用JDBC连接SQL Server

源文:http://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=140292 整理:秋忆 接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此整理方法(使用Eclipse 3.2)如下. 准备工作 首先,操作系统中安装好SQL Server 2000/2005,如果系统中都装有2000和2005版,记得停用一个,只

JDBC连接SQL Server 2005步骤详解

一.设置SQL Server服务器:    1."开始" → "程序" → "Microsoft SQL Server 2005" → "配置工具" → "SQL Server Configuration Manager"(确认"SQL Server Management Studio"已关闭)    2."SQL Server 2005 服务"中停止服务"

JDBC连接sql server数据库的详细步骤和代码

JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: [java] view plaincopyprint? 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String  className)实现. 成功加载后,会将Driver类的实例注册到DriverManager类中. 2.提供JDBC连接的URL •连接URL定

JDBC连接SQL Server代码模板

*                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* ResultSet :  保存Statement执行后产生的查询结果. * * Class.forName(JDBC驱动类); * Connection dbConn=DriverManager.getConnection(JDBC URL,数据库用户名,密码); 数据库信息截图: 代码如下: impo

java jdbc 连接 SQL server

关于java jdbc 连接 SQL server 和 连接 mysql 数据库是一样的,为了方便以后查看,笔者在这里给出demo. package com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; public class DB { p

JDBC连接sql server数据库的详细步骤和代码 转

JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序(只做一次): 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现. 成功加载后,会将Driver类的实例注册到DriverManager类中. 2.提供JDBC连接的URL •连接URL定义了连接数据库时的协议.子协议.数据源标识. •书写形式:协议:子协议:数据源标识 协议:在JDBC中

使用JDBC连接SQL Server数据库

1.准备工作: 准备相关的软件(Eclipse除外,开源软件可以从官网下载) <1>.Microsoft SQL server 2005 Express Edition 下载地址:http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE <2>.SQL Server Management Studio 下载地址:http://www.micros

Java使用JDBC连接SQL Server数据库|实现学生信息系统

Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括如下字段:学号.姓名.性别.得分,字段类型自行定义.学号为主键. 接着使用JDBC编写Java程序,完成如下任务: (1)在表格scores插入5条记录,代表5个学生,三位男生二位女生,各字段内容自定("得分"字段填入自定分数): (2)显示5位学生的所有信息: (3)将三位男生的得分减去

教你jdbc连接sql server数据库

教你jdbc连接sql server数据库public class DataTransmission { private String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; private String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test"; //地址+端口号,数据库名字 private String user="