sqlserver实验二,sqlserver实验总结
1、用户在登录界面输入用户名、密码; 2、若用户名、密码正确,则显示欢迎登录信息; 用JSP实现
1、在web工程中的src下创建包entity-类DAO。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比横山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式横山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖横山地区。费用合理售后完善,十余年实体公司更值得信赖。
代码如下:package entity;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DAO {
/*
* JDBC直连sql server2005;数据库LoginDB:
*
*
* 由于static修饰的变量和方法在类创建的对象中共享,加之使用此程序的人可能很多,所以将不变的、
* 并且常用的变量和方法修饰为static
*/
//JDBC驱动名称
public static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//数据库登录用户名
public static String user="sa";
//数据库登录密码
public static String password="sa";
//数据库名称
public static String dbName="LoginDB";
//JDBC连接URL
public static String url="jdbc:sqlserver://localhost:1433;DatabaseName="+dbName;
/*
* 获取数据库连接
*/
public static Connection getConnection(){
//建议在使用变量前先声明,后在使用时创建
Connection con=null;
try{
//加载驱动
Class.forName(driver);
//连接
con = DriverManager.getConnection(url,user,password);
}catch(Exception e){
System.out.println("连接数据库失败!");
e.printStackTrace();
}
return con;
}
/*
* 断开数据库连接
*/
public static void closeConnection(Connection con){
//建议在使用变量前先声明,后在使用时创建
try{
con.close();
}catch(Exception e){
System.out.println("关闭数据库失败!");
e.printStackTrace();
}
}
/*
* 查询数据库验证用户名和密码
*
*
* 表account的字段名:name,password都是varchar(30)
*
*
*
*/
public int search(String name,String password){
int flag=-1,i;
//-1表示错误;0用户名不存在;1用户名存在,密码错误;2用户名和密码都正确
Connection con;
Statement stmt=null;
ResultSet rs=null;
String sql="";
con=DAO.getConnection();
try{
stmt=con.createStatement();
sql="select * from account where name='"+name+"'";
rs=stmt.executeQuery(sql);
if(!rs.next()){
flag=0;
}else{
rs.close();
sql="select * from account where name='"+name+"' and password='"+password+"'";
rs=stmt.executeQuery(sql);
if(!rs.next()){
flag=1;
}else{
flag=2;
}
}
}catch(Exception e){
e.printStackTrace();
flag=-1;
}
DAO.closeConnection(con);
return flag;
}
}
2、在web工程-WebRoot下创建index.html和is_index.jsp.
①、index,html全部代码:
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
html
head
title主页/title
meta http-equiv="keywords" content="keyword1,keyword2,keyword3"
meta http-equiv="description" content="this is my page"
meta http-equiv="content-type" content="text/html; charset=UTF-8"
!--link rel="stylesheet" type="text/css" href="./styles.css"--
/head
body
div
form action="is_index.jsp" method="post"
label用户名:/labelinput type="text" name="nameTxt"/
label密码:/labelinput type="password" name="passwordTxt"/
input type="submit" value="登陆"/
input type="reset" value="重置"/
/form
/div
/body
/html
②、is_index.jsp全部代码如下:
%@ page language="java" import="java.util.*,entity.DAO"
pageEncoding="UTF-8"%
%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
base href="%=basePath%"
title/title
meta http-equiv="pragma" content="no-cache"
meta http-equiv="cache-control" content="no-cache"
meta http-equiv="expires" content="0"
meta http-equiv="keywords" content="keyword1,keyword2,keyword3"
meta http-equiv="description" content="This is my page"
!--
link rel="stylesheet" type="text/css" href="styles.css"
--
/head
body
%
String name = request.getParameter("nameTxt");
String password = request.getParameter("passwordTxt");
int flag;
DAO dao = new DAO();
flag = dao.search(name, password);
if (flag == 0) {
out.println("用户不存在! ");
} else if (flag == 1) {
out.println("密码错误! ");
} else if (flag == 2) {
out.println("欢迎登录信息! ");
} else {
out.println("出现错误! ");
}
%
/body
/html
!--作者:聊城职业技术学院10软件陆勇--
特别提醒:此属于JDBC直连数据库,需要特殊的类包支持;需要数据库
如何使用Sqlserver 2012 Always on技术
一、启用FileTable1、修改数据库引擎的属性打开“SQLServer配置管理器”,修改SQLServer数据库引擎的属性。使用此页可针对此MicrosoftSQLServer2012安装启用FILESTREAM。(1)针对Transact-SQL访问启用FILESTREAM选中此项可针对Transact-SQL访问启用FILESTREAM。必须选中此控制选项,才能使用其他控制选项。如果不启用此选项,就不能添加FileStream文件组。(2)针对文件I/O流访问启用FILESTREAM选中此项可针对FILESTREAM启用Win32流访问。(3)Windows共享名使用此控制选项可输入将用来存储FILESTREAM数据的Windows共享的名称。默认为该SQLServer实例的名称。(4)允许远程客户端针对FILESTREAM数据启用流访问选中此控制选项可允许远程客户端访问此服务器上的此FILESTREAM数据。2、修改服务器的属性打开“SQLServerManagementStudio”,修改该实例的配置。默认配置如下:上述选项解释如下:(1)“FILESTREAM访问级别”显示SQLServer实例上支持的FILESTREAM的当前级别。若要更改访问级别,请选择以下值之一:已禁用无法将二进制大型对象(BLOB)数据存储在文件系统中。此为默认值。即filestreamaccesslevel=0已启用Transact-SQL访问可使用Transact-SQL访问FILESTREAM数据,但不能通过文件系统进行访问。即filestreamaccesslevel=1已启用完全访问FILESTREAM数据可使用Transact-SQL以及通过文件系统进行访问。即filestreamaccesslevel=0注意:在首次启用FILESTREAM时,您可能需要重新启动计算机才能配置驱动程序。(2)“FILESTREAM共享名称”显示在安装过程中选择的FILESTREAM共享的只读名称。在本次实验中,我们将“FILESTREAM访问级别”设定为:已启用完全访问。如果是通过T-SQL脚本执行,则运行以下脚本:EXECsys.sp_configureN'filestreamaccesslevel',N'2'RECONFIGUREWITHOVERRIDE注意:设置完成之后,重启实例。3、配置防火墙若要在防火墙保护的环境中使用FILESTREAM,客户端和服务器都必须能够将DNS名称解析为包含FILESTREAM文件的服务器。FILESTREAM要求Windows文件共享端口139和445处于打开状态。二、配置文件组1、添加文件组完成上述操作之后,就可以为该数据库添加专用于FileStream的文件组。如果是通过脚本操作,请运行以下脚本:ALTERDATABASE[db01]ADDFILEGROUP[FileStreamFileGroup]CONTAINSFILESTREAM2、添加文件完成上述操作之后,就可以为该数据库添加FilStream类型的数据库文件。在本例中,系统并没有为“FileStream数据”的文件类型创建mdf或ndf文件,而是在文件夹C:\SqlData下面自动创建以逻辑名称命名的文件夹,即C:\SqlData\FileData。其中filestream.hdr文件是FILESTREAM容器的头文件。当这个数据库被删除时,mdf、ndf、log连同这个文件夹都会被删除。如果是通过脚本操作,请运行以下脚本:ALTERDATABASE[db01]ADDFILE(NAME=N'FileData',FILENAME=N'C:\SqlData\FileData')TOFILEGROUP[FileStreamFileGroup]注意:在上例中,在运行脚本之前,必须存在C:\SqlData,建议使用右侧的选择按钮选择路径。如果路径不存在,就会报错:同时不能存在重复的文件夹,即不能存在C:\SqlData\FileData。否则也会报错:3、启动非事务访问FileTable使Windows应用程序可以获取FILESTREAM数据的Windows文件句柄而不需要SQLServer事务。为了允许对SQLServer中存储的文件进行此非事务性访问,必须为要包含FileTable的每个数据库在数据库级别上指定所需的非事务性访问级别。选项解释如下:(1)FILESTREAM非事务访问为从文件系统到FileTables中存储的FILESTREAM数据的非事务性访问指定以下选项之一:OFF、READ_ONLY或FULL。如果在服务器上未启用FILESTREAM,则该值将设置为OFF并且被禁用。在本次实验中,将其设置为FULL。(2)FILESTREAM目录名称为与所选数据库相关联的FILESTREAM数据指定目录名称。在FileTable文件夹层次结构中,此数据库级目录将成为在实例级别为FILESTREAM指定的共享名称的子级以及在数据库中创建的FileTable的父级。如果启用非事务性访问时没有提供目录名称,则在以后必须提供它,这样才能在数据库中创建FileTable。如果是通过脚本执行,如下:ALTERDATABASEdb01SETFILESTREAM(NON_TRANSACTED_ACCESS=FULL,DIRECTORY_NAME=N'ImageFiles')注意:更改现有数据库时,调用带DIRECTORY_NAMEFILESTREAM选项的ALTERDATABASE(Transact-SQL)语句。使用这些选项更改目录名称时,数据库必须以独占方式锁定,没有打开的文件句柄。说明:为检查是否在数据库上启用了非事务性访问,可以查询目录视图,脚本如下:SELECTDB_NAME(database_id),non_transacted_access,non_transacted_access_descFROMsys.database_filestream_options三、创建FileTable1、创建第一个FileTable“SQLServerManagementStudio”只提供一个脚本模板,要想创建FileTable还是得用脚本完成:USEdb01CREATETABLEImageTable1ASFILETABLE官方的范本为:USE[db01]CREATETABLE[dbo].[ImageTable1]ASFILETABLEON[PRIMARY]FILESTREAM_ON[FileStreamFileGroup]WITH(FILETABLE_DIRECTORY=N'ImageTable1',FILETABLE_COLLATE_FILENAME=Chinese_PRC_CI_AS)2、创建第二个FileTableCREATETABLEImageTable2ASFILETABLE3、获取共享路径文件表创建之后,就会相应的产生一个文件表共享目录,该目录路径可以通过内建函数获取:SELECTFileTableRootPath('ImageTable1')本次实验所返回的结果为:\\SQL1\SqlFile\ImageFiles\ImageTable14、查看通过Windows资源管理器,可见已经创建了以GUID命名的文件夹。通过SQLServerManagementStudio,查看表的结构。四、操作1、向文件夹中添加文件通过“Windows资源管理器”,向文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1中添加一个文件A01.GIF。然后运行脚本:select*fromImageTable1结果如下:可见,SQLServer自动在Table中添加了记录。2、文件改名运行以下脚本:updateImageTable1setname='Cup.GIF'wherename='A01.GIF'通过“Windows资源管理器”,查看文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1,可见文件A01.GIF已经被改名为Cup.GIF。3、查看共享文件夹我们可以继续复制其他文件,然后通过“Windows资源管理器”,查看文件夹。4、删除文件可以使用脚本删除,例如:DeleteImageTable1wherename='Cup.GIF'或者,通过“Windows资源管理器”直接删除该文件。五、备份和还原1、备份数据库使用SQLServer备份数据库时,FILESTREAM数据将与数据库中的结构化数据一起备份。2、部分备份如果不想将FILESTREAM数据与关系数据一起备份,则可以使用部分备份将FILESTREAM文件组排除在外。六、相关说明详见/zh-cn/library/gg492086.aspx1、AlwaysOn在包含FILESTREAM或FileTable数据的数据库属于某一AlwaysOn可用性组时:FILESTREAM和FileTable函数接受或返回虚拟网络名称(VNN),而非计算机名称。有关这些函数的详细信息,请参阅Filestream和FileTable函数(Transact-SQL)。通过文件系统API对FILESTREAM或FileTable数据进行的所有访问都应该使用VNN,而非计算机名称。2、表分区FileTable不支持分区。通过对多个FILESTREAM文件组的支持,在大多数方案中可以解决纯向上扩展问题,而不必使用分区(不像SQL2008FILESTREAM)。3、复制FileTable不支持复制和相关功能(包括事务性复制、合并复制、更改数据捕获和更改跟踪)。4、视图可以像为任何其他表一样为FileTable创建视图。但是对于为FileTable创建的视图有以下注意事项:视图将不具有任何FileTable语义,也就是说,视图中的列(包括“文件属性”列)的行为与常规视图列一样,不具有任何特殊语义,对于表示文件/目录的行也是如此。可以基于“可更新视图”语义更新视图,但是基础表约束可能拒绝更新,就像在表中一样。可以通过将文件的路径添加为视图中的显式列,在视图中显示该路径。例如:CREATEVIEWMP3FILESASSELECTcolumn1,column2,…,GetFileNamespacePath()ASPATH,column3,…FROMDocuments
SQLserver数据库实训总结怎么写?
这个主要要着重写几个方面,你一定要多写,写的详细一点。
1,管理系统的数据库需求【这个算是概况】
2,数据库对象模型设计 【设计核心部分】
3,数据库的创建以及表间关系,存储过程,视图,触发器的设计和定义。【标准定义部分】
4,数据库的优化设计,【这个你要是没有经验,就多测试,多写测试结果】
【着重在测试上多写点啊,比如,20万数据和100万数据的时候,你是如何优化查询的】
少说这里能写个几千字。
5,数据访问组件的代码结构,既然是管理系统,肯定要涉及数据访问。你把这个多写一点,比如不同组件之间的数据访问的差异,优势,弊端,你是如何改进的之类的。
7,BUG调试日志,开发这么个系统,肯定是中途经历了不少的错误和修改,你把这个过程写一点。
8,记录下你对于这个系统从设计到开发的经验,总结。
这么下来,怎么着也得1万字吧,要是再把参考的资料加上,恐怕能打印一小本了。
文章题目:sqlserver实验二,sqlserver实验总结
分享路径:http://scyanting.com/article/hdgeih.html