仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 600|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计用ASP.NET复原与恢复Sql server

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:39:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在CSDN里搜索一下“初学”两字,竟有三百余篇帖子(也许更多)。有些帖子说,有了asp的基础,只要15天就能很熟悉了,我甚感自己的愚钝。更多帖子是向大家请教初学者适合看书。两个多月的时间(当然平常杂事比较多。asp.net|server|sql|恢复  前次做了个项目,触及到数据库的复原和恢复,到网上找了一下,是使用SQLDMO完成的,只需增加SQLDMO援用就行了,然后使用下边的类的办法就能够完成了。
  我把原作者的类扩大了一下,能够主动辨认web.config里的数据库毗连字符串,能够经由过程变量设置复原恢复的信息。
  必要注重的时复原,复原的时分成绩最年夜了,有其余用户利用数据库的时分没法复原,办理举措就是在MASTER数据库中增加一个存储历程:
  createprockillspid(@dbnamevarchar(20))
  asbegindeclare@sqlnvarchar(500)
  declare@spidintset@sql=declaregetspidcursorforselectspidfromsysprocesseswheredbid=db_id(+@dbname+)exec(@sql)
  opengetspidfetchnextfromgetspidinto@spidwhile@@fetch_status-1beginexec(kill+@spid)
  fetchnextfromgetspidinto@spidendclosegetspiddeallocategetspidendGO
  在复原之前先实行这个存储历程,必要传送dbname,就是你的数据库的名字。下边是类的原代码:(web.config里的数据库毗连字符串是constr)
usingSystem;
usingSystem.Configuration;
usingSystem.Data.SqlClient;
usingSystem.Data;
namespaceweb.base_class
...{
/**////
///DbOper类,次要使用SQLDMO完成对MicrosoftSQLServer数据库的备份和恢复
///
publicclassDbOper
...{
privatestringserver;
privatestringuid;
privatestringpwd;
privatestringdatabase;
privatestringconn;
/**////
///DbOper类的机关函数
///
publicDbOper()
...{
conn=System.Configuration.ConfigurationSettings.AppSettings["constr"].ToString();server=cut(conn,"server=",";");
uid=cut(conn,"uid=",";");
pwd=cut(conn,"pwd=",";");
database=cut(conn,"database=",";");
}
publicstringcut(stringstr,stringbg,stringed)
...{
stringsub;
sub=str.Substring(str.IndexOf(bg)+bg.Length);
sub=sub.Substring(0,sub.IndexOf(";"));
returnsub;
}
/**////
///数据库备份
///
publicboolDbBackup(stringurl)
...{SQLDMO.BackupoBackup=newSQLDMO.BackupClass();
SQLDMO.SQLServeroSQLServer=newSQLDMO.SQLServerClass();
try
...{
oSQLServer.LoginSecure=false;
oSQLServer.Connect(server,uid,pwd);
oBackup.Action=SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database=database;
oBackup.Files=url;//"d:Northwind.bak";
oBackup.BackupSetName=database;
oBackup.BackupSetDescription="数据库备份";oBackup.Initialize=true;oBackup.SQLBackup(oSQLServer);
returntrue;
}
catch
...{
returnfalse;
throw;
}
finally
...{
oSQLServer.DisConnect();
}
}
///数据库恢复///
publicstringDbRestore(stringurl)
{if(exepro()!=true)
//实行存储历程{return"操纵失利";}
else{SQLDMO.RestoreoRestore=newSQLDMO.RestoreClass();
SQLDMO.SQLServeroSQLServer=newSQLDMO.SQLServerClass();
try{oSQLServer.LoginSecure=false;oSQLServer.Connect(server,uid,pwd);
oRestore.Action=SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database=database;
oRestore.Files=url;
//@"d:Northwind.bak";
oRestore.FileNumber=1;
oRestore.ReplaceDatabase=true;
oRestore.SQLRestore(oSQLServer);
return"ok";}catch(Exceptione)
{return"恢单数据库失利";
throw;
}finally{oSQLServer.DisConnect();
}}}
privateboolexepro()
{SqlConnectionconn1=newSqlConnection("server="+server+";uid="+uid+";pwd="+pwd+";database=master");
SqlCommandcmd=newSqlCommand("killspid",conn1);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@dbname","port");
try{conn1.Open();
cmd.ExecuteNonQuery();
returntrue;
}
catch(Exceptionex)
{returnfalse;
}finally
{
conn1.Close();
}
}
}
}
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。
莫相离 该用户已被删除
沙发
发表于 2015-1-19 15:50:33 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
板凳
发表于 2015-2-1 16:06:07 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
小魔女 该用户已被删除
地板
发表于 2015-2-7 07:49:53 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-21 03:55:27 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
透明 该用户已被删除
6#
发表于 2015-3-6 19:37:21 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
精灵巫婆 该用户已被删除
7#
发表于 2015-3-13 07:07:14 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
乐观 该用户已被删除
8#
发表于 2015-3-13 07:07:15 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
谁可相欹 该用户已被删除
9#
发表于 2015-3-20 15:38:42 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表