您的位置:首页 > 数据库

采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载

2008-01-26 21:58 405 查看
现在公司采用一个新的平台,其中自带有一部分数据,需要对其进行初使化,涉及到文件的拷贝及数据库的挂载,难得去搞多次,就搞了个批处理命令一次性搞定,其中特别需要注意两点:

1、字符串的连接。一连都是采用 set cc=%aa%&%bb%的形式,但这里不能够这样操作,因为&符号在set中表示位与操作,如果这样做永远会报错。%aa%表示引用的aa这个变量,这里需要将由aa,bb代表的字符串连接成一个新的字符串,直接这样写:set cc=%aa%%bb%就OK了,两个字符串就连在一起了。

2、注意双引号的操作。如果我们需要一个字符串,"AAABBB",此时采用set aa=AAA,set bb=BBB,那此时的连接应该写成:set cc="%aa%%bb%",相当于四个字符串连接。

批处理命令如下:

rem -----------------------FBFrame开源架构操作-----------------------

rem 将fbframe解压到指定的目录下

@set fbframePath=D:/primeton/ide/eclipse/workspace/fbframe

rem 正在解压缩fbframe到%fbframePath%

@rar.exe x -t -o+ -p- fbframe.rar %fbframePath%

rem 文件解压成功

rem ---------------------------数据库操作---------------------------

rem 设置数据库的存放位置

@set EOSDataPath=C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data/

@set EOSData=eos.mdf

@set EOSLog=eos_log.LDF

@set _EOSDataPath="C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Data/"

rem 显示设置的数据路径及日志路径

@set EOSDataLocation=%EOSDataPath%%EOSData%

@set EOSLogLocation=%EOSDataPath%%EOSLog%

rem 要执行的EOS数据库挂载命令

@set execCMD="EXEC sp_attach_db 'eos',@filename1='%EOSDataLocation%',@filename2='%EOSLogLocation%'"

echo %execCMD%

rem 设置用户登陆名、密码及数据库服务器

@set DBUser=sa

@set DBPassword=123

@set DBServer=.

rem 将数据文件及日志拷贝到指定的路径

@copy %EOSData% %_EOSDataPath%

@copy %EOSLog% %_EOSDataPath%

call Sqlcmd -U %DBUser% -P %DBPassword% -S %DBServer% -q %execCMD%

@echo EOS数据库挂载成功

pause

本文出自:冯立彬的博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: