alse string MSQL RESTORE DATABASE DBName FROM DISK dir data.bak WITH MOVE Test TO c: DBName .mdf MOVE Test_log TO c: DBName .ldf try ExecuteSqlmaster USE MASTER IF EXISTS SELECT NAME FROM SYSDATABASES WHERENAME DBName DROP DATABASE DBName ExecuteSqlmaster MSQL Restult true finally // 删除备份文件 try File.Deletedir data.bak catch return Restultendregion这里可以到注册表读取 SQL Server 的安装路径,把恢复后的数据库文件放到 data 目录地下。
在本例中,只是实现了恢复,并未进行标准的操作。
其中 Test 和 Test_log 时备份时数据库的文件信息。
如果想要从备份文件中恢复,请把文件包含到项目里并且设置和 DBSQL.txt 一样,嵌入到程序里。
最后执行删除。
不过我想应该有办法不把文件先安装到目标机器上,而是有方法想读取 DBSQL.txt 文件一样,直接恢复数据库,不过确实没想到办法,失败!网站安装好后,需要设置 web.config 文件,这里只涉及到连接字符串到设置,其他的可以同理修改。
从备份文件恢复数据库及数据库表region WriteWebConfig 修改 web.config 的连接数据库的字符串private bool WriteWebConfig System.IO.FileInfo FileInfo new System.IO.FileInfothis.Context.Parameterstargetdir /web.config if FileInfo.Exists throw new InstallExceptionMissing config file : this.Context.Parameterstargetdir /web.config System.Xml.XmlDocument xmlDocument new System.Xml.XmlDocument xmlDocument.LoadFileInfo.FullName bool FoundIt false foreach System.Xml.XmlNode Node in xmlDocumentconfigurationappSettings if Node.Name add if Node.Attributes.GetNamedItemkey.Value ConnectionString Node.Attributes.GetNamedItemvalue.Value String.FormatPersist Security InfoFalseData Source0database1User ID2Password3Packet Size4096PoolingtrueMax Pool Size100Min Pool Size1 ServerName DBName AdminName AdminPwd FoundIt true if FoundIt throw new InstallExceptionError when writing the config file: web.config xmlDocument.SaveFileInfo.FullName return FoundIt
上一篇:
WEB程序j技术与设计
下一篇:
致享和威驰哪个好点?冲着安全和空间 推荐致享