亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Windows環境下如何實現批量執行Sql文件

發布時間:2021-10-08 09:39:39 來源:億速云 閱讀:308 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Windows環境下如何實現批量執行Sql文件的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一、使用篇

1、準備bat文件:
1.1、ExecSql.bat(執行腳本)(文件編碼:ANSI,這個編碼與下面提到的utf8和gb2312都不一樣,用記事本編輯默認就是這個編碼,所以不一定要下notepad++)

@ECHO OFF

SET dbhost=127.0.0.1
SET dbuser=sa
SET dbpasswd=sa
SET dbName=Application

REM 以下內容不建議修改
REM 執行腳本的路徑,此處為當前路徑
SET sqlpath=%~dp0
REM 日志文件名
SET temp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log
SET logFileName=%sqlpath%%temp: =0%

::執行sql腳本
echo 開始執行sql腳本,所有日志記錄于%logFileName%
for /r %%i in (*.sql) do ( echo %%i被執行 & echo ----- %%i log start ----- >> %logFileName% & sqlcmd -S %dbhost% -U %dbuser% -P %dbpasswd% -d %dbName% -i %%i -k -b -m 10 >> %logFileName% & echo ----- %%i log end ----- >> %logFileName% & @echo. >> %logFileName%)

ECHO 完成!
PAUSE

1.2、ShowOrder.bat(查看什么腳本會被執行,按什么順序執行)(文件編碼:ANSI)

@ECHO OFF
for /r %%i in (*.sql) do ( echo %%i )

ECHO 完成!
PAUSE

2、將ExecSql.bat復制到目標根目錄下,文件目錄結構(文件夾路徑最好沒有中文),如圖,假設我需要執行此文件夾下所有的sql文件

Windows環境下如何實現批量執行Sql文件

3、【可選做】排序,如果對sql文件的執行順序有要求的,需要對文件進行重命名,如上圖所示,執行順序為文件名字正序,建議使用“01.”這種作為文件名前綴

將ShowOrder.bat復制到目標根目錄下,雙擊運行,查看執行順序是否符合預期

Windows環境下如何實現批量執行Sql文件

4、【重要】編碼轉換,一般情況下.sql文件的編碼都是utf8,如果.sql文件內容中,使用了中文(注釋不算),則需要修改文件編碼是GB2312,否則會執行錯誤的sql語句。

比如01.XXX.sql的編碼是utf8的,但插入數據庫的數據卻是亂碼
Windows環境下如何實現批量執行Sql文件

Windows環境下如何實現批量執行Sql文件

以下4.1和4.2擇一執行

4.1、修改編碼的方法為:使用Notepad打開.sql文件,ctrl+A(全選),ctrl+C(復制),點擊Notepad“編碼”->“編碼字符集”->“中文”->“GB2312”,應該會出現一個“無法恢復警告”,點“是”,ctrl+A(全選),ctrl+V(粘貼),最后保存

4.2、使用工具(EncodingConverter)批量修改:下載好工具后解壓即可運行,雙擊BatchConvertor.exe,如下圖所示設置

Windows環境下如何實現批量執行Sql文件

轉化完成后會再執行會得到正確的中文

Windows環境下如何實現批量執行Sql文件

5、修改bat文件,用Notepad++或別的編輯器打開bat文件,修改ExecSql.bat中的數據庫連接相關信息,只改跟連接數據庫相關的4個變量即可,其他不需要修改,改完后保存

Windows環境下如何實現批量執行Sql文件

6、雙擊bat文件,會有如圖所示的輸出

Windows環境下如何實現批量執行Sql文件

7、查看日志,檢查每一個.log文件,沒有消息就是好消息,一個執行正確腳本的.log文件一般長這樣

Windows環境下如何實現批量執行Sql文件

有錯誤也會反饋出來,如腳本再執行一次就會報錯

Windows環境下如何實現批量執行Sql文件

特別提醒:此bat文件會檢查當前文件夾下所有的.sql文件并執行,再次執行bat時需要刪掉一些不用再次執行的.sql文件

二、原理篇

sqlcmd和osql兩種命令都可以執行sql文件,兩者參數配置項幾乎完全一樣,這里選用sqlcmd是出于這個的日志輸出比較整潔,且微軟打算在未來SqlServer中刪除osql(不再支持)。兩種命令都可以在cmd中使用XXX/?來查詢幫助

sqlcmd的官方文檔:https://docs.microsoft.com/zh-cn/sql/tools/sqlcmd-utility?view=sql-server-ver15

Windows環境下如何實現批量執行Sql文件

osql的官方文檔:https://docs.microsoft.com/zh-cn/sql/tools/osql-utility?view=sql-server-ver15

Windows環境下如何實現批量執行Sql文件

感謝各位的閱讀!關于“Windows環境下如何實現批量執行Sql文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

峨眉山市| 扶绥县| 靖边县| 怀柔区| 长治市| 彭阳县| 普安县| 栖霞市| 运城市| 毕节市| 扬州市| 揭阳市| 行唐县| 无为县| 江川县| 平遥县| 九台市| 万州区| 凯里市| 黄骅市| 方正县| 湖北省| 绥宁县| 固始县| 辽阳县| 新蔡县| 虎林市| 安康市| 昆明市| 青冈县| 西藏| 万州区| 巨野县| 松江区| 大化| 阳东县| 宁河县| 南阳市| 棋牌| 滁州市| 板桥市|