700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > java连接sql_java连接SQL Server数据库

java连接sql_java连接SQL Server数据库

时间:2024-05-06 02:08:52

相关推荐

java连接sql_java连接SQL Server数据库

操作系统:windows 7 64位

java开发环境:eclipse SDK

数据库:SQL Server R2

下载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 classConn{3 public static voidmain(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 错误代码 18456.

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

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

查找问题的过程:

第一步: 启动所有与SQL有关的服务,问题依旧;

第二步: 查看windows防火墙,被默认启动了,不启动选择项被Disabled。两个提示“由于安全考虑,某些设置由组策略控制”“Windows防火墙正在使用您的域设置”,先用gpedit.msc打组策略编辑器,机算机配置--管理模板--网络--网络连接--Windows防火墙--标准配置文件,查看右边各选项属性,都是未配置状态,问题不在这里。

第三步:用windows帐号登录,连接成功后,右击实例,选择属性->安全性。确定“服务器身份验证”选择的是“SQL Server和Windows身份验证模式”

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

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

双击sa帐号

选择状态。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。