使用SQLCMD在SQLServer上執(zhí)行多個(gè)腳本

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的煙臺(tái)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
第一步:先創(chuàng)建一個(gè)在C盤下的文件夾:C:\Scripts。然后把腳本存放到這個(gè)文件夾中:
腳本1:CREATE_DB.sql
/* SCRIPT: CREATE_DB.sql */
/* 創(chuàng)建TestDB數(shù)據(jù)庫(kù) */
-- This is the main caller for each script
SET NOCOUNT ON
GO
PRINT '開始創(chuàng)建TestDB數(shù)據(jù)庫(kù)'
IF EXISTS (SELECT 1 FROM SYS.DATABASES WHERE NAME = 'TestDB')
DROP DATABASE TestDB
GO
CREATE DATABASE TestDB
GO
:On Error exit
:r c:\Scripts\CREATE_TABLES.sql
:r c:\Scripts\TABLE_INSERTS.sql
:r c:\Scripts\CREATE_INDEXES.sql
:r c:\Scripts\CREATE_PROCEDURES.sql
PRINT '創(chuàng)建完畢'
GO
sql腳本要在dbms里執(zhí)行\(zhòng)x0d\x0a\x0d\x0a比如oracle,你可以在sqlplus里,或pl/sql developer里執(zhí)行\(zhòng)x0d\x0a\x0d\x0a直接復(fù)制sql語(yǔ)句過去,回車就好了(注意帶分號(hào))\x0d\x0a\x0d\x0a如果你的sql是一個(gè)sql文件(*.sql)\x0d\x0a可以使用start或@ 然后跟文件的路徑(c:/a.sql) 回車
sqlserver 2012怎么執(zhí)行sql腳本
SQL Server 2012導(dǎo)出的過程
1.打開Management Studio,登錄到服務(wù)器,在數(shù)據(jù)庫(kù)中選擇要轉(zhuǎn)移的數(shù)據(jù)庫(kù),
右鍵--“任務(wù)(T)”--“生成腳本(E)...”。
2.在“生成和發(fā)布腳本”窗口中,點(diǎn)擊“下一步”,
3.“選擇要編寫腳本的數(shù)據(jù)庫(kù)對(duì)象”,可以不做設(shè)置,點(diǎn)擊“下一步”,
4.點(diǎn)擊[保存到文件]右邊的“高級(jí)”按鈕,在對(duì)話框中,設(shè)置“為服務(wù)器版本編寫腳本”為“SQL Server 2008 R2”,
設(shè)置“要編寫腳本的數(shù)據(jù)的類型”為“架構(gòu)和數(shù)據(jù)”。選擇保存腳本的位置。
5.下一步,再下一步。導(dǎo)出完成。
SQL Server 2008 R2導(dǎo)入的過程
1.打開Management Studio,登錄到服務(wù)器,
2.選擇菜單“文件”——“打開”——“文件”,選擇.sql腳本文件,點(diǎn)擊工具欄中的“執(zhí)行”按鈕。
3.在左側(cè)的“對(duì)象資源管理器”中右鍵“數(shù)據(jù)庫(kù)”——“刷新”。完畢。
一、客戶的數(shù)據(jù)庫(kù)數(shù)據(jù)被篡改,利用Log Explorer工具根據(jù)日志生成的回滾腳本有200多M,不可能一下子扔到查詢分析器里去執(zhí)行,于是想是否SQL Server是否可以像Oracle那樣直接執(zhí)行.sql文件。講過查資料,測(cè)試,發(fā)現(xiàn)可以在cmd窗口中執(zhí)行如下命令執(zhí)行Sql文件:
二、osql -S 127.0.0.1 -U sa -P sa -i d:\test.sql;
三、簡(jiǎn)單說明:osql為SQL Server的命令,要在cmd中執(zhí)行該命令,一般安裝完SQL Server后該命令對(duì)應(yīng)的路徑會(huì)自動(dòng)添加到系統(tǒng)環(huán)境變量中。 -S 表示要連接的數(shù)據(jù)庫(kù)服務(wù)器 -U表示登錄的用戶ID,-P表示登錄密碼 -i表示要執(zhí)行的腳本文件路徑。
四、Apache ant提供了直接執(zhí)行sql腳本文件的功能:
五、Java代碼:
public?class?AntExecSql
{public?static?void?execSqlFile(String?url,?String?userID,?String?pwd,???String?sqlFile)
{
SQLExec2?sqlExec?=?new?SQLExec2();
//?設(shè)置數(shù)據(jù)庫(kù)參數(shù)
sqlExec.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
sqlExec.setUrl(url);
sqlExec.setUserid(userID);
sqlExec.setPassword(pwd);
File?file?=?new?File(sqlFile);
sqlExec.setSrc(file);
sqlExec.setPrint(true);?//?設(shè)置是否輸出
//?輸出到文件?sql.out?中;不設(shè)置該屬性,默認(rèn)輸出到控制臺(tái)
//?sqlExec.setOutput(new?File("d:/script/sql.out"));
sqlExec.setProject(new?Project());??//?要指定這個(gè)屬性,不然會(huì)出錯(cuò)
sqlExec.execute();
}
public?static?void?main(String[]?args)?{
String?file1?=?"C:/1.sql";
String?url?=?"jdbc:sqlserver://localhost:1433;database=master";
String?username?=?"sa";
String?pwd?=?"sa@jiaj";
try?{
AntExecSql.execSqlFile(url,?username,?pwd,?file1);
}?catch?(Exception?ex)?{
ex.printStackTrace();
}
}
}
文章名稱:sqlserver執(zhí)行sql腳本,sqlserver 腳本
鏈接分享:http://chinadenli.net/article10/dsepgdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、做網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)