目录
教学资源
教学运行
提醒实验3: 数据库安全性控制与Connection连接 返回
实验课程:
C#数据库系统开发
开课学院:
商学院
开课专业:
信息管理与信息系统
教材:
软件:
实验指导:
实验介绍

一、实验名称和性质

 

所属课程

C#数据库系统设计

实验名称

数据库安全性控制与Connection连接

实验学时

2

实验性质

□验证  □综合 □设计

必做/选做

□必做 □选做

 

二、实验目的

1.        了解SQL Server2008的安全性控制框架。

2.        掌握数据库服务器的登录控制。

3.        掌握数据库的登录控制

4.        理解数据库对象的权限控制。

三、实验的软硬件环境要求

硬件环境要求:

         PC机(单机)

 

使用的软件名称、版本号以及模块:

         Windows XP下的SQL Server 2005(或 SQL Server 2008

四、知识准备

1、打开 SQL Server Management Studio,以 Windows身份认证方式登录
2
、在对象资源管理器下,右键Security ==> Logins ==> New Login

说明: http://hi.csdn.net/attachment/201111/24/0_13221618623pL4.gif

3、打开 新建登录名 对话框后,常规 右侧输入相应的登录名、密码和默认数据

说明: http://hi.csdn.net/attachment/201111/24/0_1322162636PjjB.gif

用户映射选项卡下

输入完成后确认

4、对象资源管理器 下,右键 实例名称(不知道这么叫对不对),下图中蓝色背景的部分 ==> Properties

说明: http://hi.csdn.net/attachment/201111/24/0_13221626564Ev2.gif

说明: http://hi.csdn.net/attachment/201111/24/0_1322162666bgKZ.gif

 

 

 

 

说明: http://hi.csdn.net/attachment/201111/24/0_13221630601F2j.gif5、重启 SQL Server 服务

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(二)Connection对象

Connection对象是开启程序和数据库之间的连结。不利用连结对象将数据库打开,是无法从数据库中取得数据的。在ADO.NET的最底层

 

1.  SqlConnection连接

using System.Data.SqlClient;//要加载的数据包

 

 

String connString;

           // connString= @"Data Source=LENOVO-PC;Initial Catalog=Northwind;Integrated Security=True"; //Windows¦¨ª¤Y¨?¡è

 

           connString = @"Data Source=localhost;Database=Northwind;PWD='123456';UID='sa'"; //SQL Server¦¨ª¤Y¨?¡è,À?¨²¨¦°?®?ª?¡¤¡élocalhost¨°?º???¨²?

            SqlConnection conn = newSqlConnection(connString);

            try

            {

               conn.Open();

               txtDisplay.Text = "Connection opened:"+"\r\n";

               txtDisplay.Text += "Database:"+ conn.Database.ToString()+"\r\n";

               txtDisplay.Text += "DataSource:"+ conn.DataSource.ToString () + "\r\n";

               txtDisplay.Text += "ServerVersion:"+ conn.ServerVersion .ToString ()+ "\r\n";

               txtDisplay.Text += "State:"+ conn.State .ToString () + "\r\n";

               txtDisplay.Text += "WorkStationID:"+ conn.WorkstationId .ToString () + "\r\n";

            }

            catch(SqlExceptionex)

            {

               MessageBox.Show("ErrorCode:" + ex.ErrorCode + " Error Message:" + ex.Message);

            }

            finally

            {

               conn.Close();

               txtDisplay .Text+= "Connection Closed.";

            }

 

2OleDbConnection代码样例

usingSystem.Data.OleDb;//要在加载的数据包

 

string connString;

           connString = @"Provider=Microsoft.ACE.OLEDB.12.0;"+ "Data Source='testData.xlsx';" +"Extended Properties='Excel 12.0;HDR=YES;Imex=1;'";

            OleDbConnection conn = newOleDbConnection(connString );

           

 

            try

            {

               conn.Open();

               txtDisplay.Text = "Connection opened:" + "\r\n";

               txtDisplay.Text += "Database:"+ conn.Database.ToString() + "\r\n";

               txtDisplay.Text += "DataSource:"+ conn.DataSource.ToString() + "\r\n";

               txtDisplay.Text += "ServerVersion:"+ conn.ServerVersion.ToString() + "\r\n";

               txtDisplay.Text += "State:"+ conn.State.ToString() + "\r\n";

               OleDbCommand odComm = new OleDbCommand("Select * from [Sheet1$]",conn);

               OleDbDataAdapter odAdapter1 = new OleDbDataAdapter();

               odAdapter1.SelectCommand = odComm ;

               DataSet odDataset1 = new DataSet();

               //?ExcelDºyY¬??Ì?ºyY¡¥

               odAdapter1.Fill(odDataset1, "XLData");

               MessageBox.Show(odDataset1.Tables.Count.ToString());

               dataGridView1.DataSource = odDataset1.Tables[0];

 

              

            }

            catch(SqlException ex)

            {

               MessageBox.Show("ErrorCode:" + ex.ErrorCode + " Error Message:" + ex.Message);

            }

            finally

            {

               conn.Close();

               txtDisplay.Text += "Connection Closed.";

            }

 

五、实验内容

1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。分别为三个登录名在“Student数据库映射三个数据库用户,数据库用户名为TomMaryJohn,使这三个登录名可以访问“Student数据库。

2.完成以下授权:(1)把对表SINSERT权力授予用户Tom,并允许他再将此权限授予其他用户。(2)用户MarySCSC三个表有SELECTINSERT权力  3)用户TomSC表有DELETE权力.4)把对用户Tom授予的所有权力收回 

3.两个同学为一组(自由搭配),在自己的数据库服务器上分别为对方创建一个登录名,并授予创建数据库的权力,然后用对方为自己创建的登录名和对方的数据库服务器建立连接,进行登录,并创建一个TEST数据库。

4. 分别以Windows身份、saMary账号连接数据库Student,建立SqlConnetion连接。

六、实验报告

针对每个实验写出操作步骤和结果。