iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Windows环境下实现批量执行Sql文件
  • 863
分享到

Windows环境下实现批量执行Sql文件

2024-04-02 19:04:59 863人浏览 八月长安
摘要

使用场景:按文件名字正序,批量执行某文件夹下的所有sql文件,并输出日志 适合人群:实施工程师 一、使用篇 1、准备bat文件: 1.1、ExecSql.bat(执行脚本)(文件编码

使用场景:按文件名字正序,批量执行某文件夹下的所有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文件

3、【可选做】排序,如果对sql文件的执行顺序有要求的,需要对文件进行重命名,如上图所示,执行顺序为文件名字正序,建议使用“01.”这种作为文件名前缀

将ShowOrder.bat复制到目标根目录下,双击运行,查看执行顺序是否符合预期

4、【重要】编码转换,一般情况下.sql文件的编码都是utf8,如果.sql文件内容中,使用了中文(注释不算),则需要修改文件编码是GB2312,否则会执行错误的sql语句。

比如01.XXX.sql的编码是utf8的,但插入数据库的数据却是乱码

以下4.1和4.2择一执行

4.1、修改编码的方法为:使用Notepad打开.sql文件,ctrl+A(全选),ctrl+C(复制),点击Notepad“编码”->“编码字符集”->“中文”->“GB2312”,应该会出现一个“无法恢复警告”,点“是”,ctrl+A(全选),ctrl+V(粘贴),最后保存

4.2、使用工具(EncodingConverter)批量修改:下载好工具后解压即可运行,双击BatchConvertor.exe,如下图所示设置

转化完成后会再执行会得到正确的中文

5、修改bat文件,用Notepad++或别的编辑器打开bat文件,修改ExecSql.bat中的数据库连接相关信息,只改跟连接数据库相关的4个变量即可,其他不需要修改,改完后保存

6、双击bat文件,会有如图所示的输出

7、查看日志,检查每一个.log文件,没有消息就是好消息,一个执行正确脚本的.log文件一般长这样

有错误也会反馈出来,如脚本再执行一次就会报错

特别提醒:此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

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

到此这篇关于windows环境下实现批量执行Sql文件的文章就介绍到这了,更多相关Windows批量执行Sql文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Windows环境下实现批量执行Sql文件

本文链接: https://www.lsjlt.com/news/137331.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Windows环境下实现批量执行Sql文件
    使用场景:按文件名字正序,批量执行某文件夹下的所有sql文件,并输出日志 适合人群:实施工程师 一、使用篇 1、准备bat文件: 1.1、ExecSql.bat(执行脚本)(文件编码...
    99+
    2024-04-02
  • python 批量执行sql文件
    需求: 要在服务器上指执行sql 为了不影响线上用户正常使用,且执行10000行暂停10秒。然后用python 写了这样一个文件文件存放位置: /root/sql/  文件名:2 3 4 5 6  .....这样做是为了省事 用 range...
    99+
    2023-01-31
    批量 文件 python
  • plsql怎么批量执行sql文件
    在PL/SQL中,可以使用`@`符号来执行批量SQL文件。假设你的SQL文件名为`batch.sql`,包含多个SQL语句,你可以按...
    99+
    2023-09-28
    plsql sql
  • sqlplus怎么批量执行sql文件
    要批量执行SQL文件,可以使用以下方法: 在命令行中使用sqlplus命令执行SQL文件: sqlplus username/p...
    99+
    2024-04-09
    sqlplus
  • 在Windows和MacOS环境下实现批量doc转docx,xls转xlsx
    一、引言 Python中批量进行办公文档转化是常见的操作,在windows状态下我们可以利用changeOffice这个模块很快进行批量操作。 二、在Windows环境下的解决文案 Windows环境下,如何把doc转化为docx,xls转...
    99+
    2023-09-10
    macos 策略模式
  • python Windows环境下文件路
    在python程序里面我们经常需要对文件进行操作,Windows下的文件目录路径使用反斜杠“\”来分隔。但是,和大多数语言一样,Python代码里面,反斜杠“\”是转义符,例如“\n”表示回车、“\t”表示制表符等等。这样,如果继...
    99+
    2023-01-31
    环境 文件 python
  • Windows环境下使用Pycharm运行sh文件
    博主在调试一些程序时,时常遇到 .sh文件,这是Linux中的shell脚本文件,那么这种文件在windows下如何运行呢,其实我们可以通过git来实现,接下来看我操作。 首先我们需要安装Git,关于...
    99+
    2023-09-06
    linux 运维 服务器
  • windows下bat批处理执行Mysql的sql语句
    有时候我们需要用bat来定时执行mysql那么就可以参考下面的代码  直接上代码: @ECHO OFF SET dbhost=主机名(例如:127.0.0.1) S...
    99+
    2024-04-02
  • shell脚本批量执行指定路径下sql脚本的实现
    目录1. 场景描述2. 创建sql3. 创建脚本3.1 方式一3.2 方式二1. 场景描述 linux环境下通过shell脚本批量执行指定目录下所有sql语句,用来建表建库,初始化项目sql等。linux shell在线...
    99+
    2023-02-03
    shell批量执行sql脚本 shell批量执行脚本
  • gorm 执行原生sql实现批量插入数据
    可以使用 GORM 的 DB 对象来执行原生 SQL 操作,然后结合 SQL 的 INSERT INTO 语句来实现批量插入数据。 以下是一个示例代码,假设我们有一个 users 表,包含 id、na...
    99+
    2023-09-20
    sql 数据库 mysql golang
  • 怎么在windows中批量执行Mysql的sql语句
    这篇文章给大家介绍怎么在windows中批量执行Mysql的sql语句,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。@ECHO OFF SET dbhost=主机名(例如:127.0.0....
    99+
    2023-06-14
  • Windows环境下如何使用Pycharm运行sh文件
    目录博主在调试一些程序时,时常遇到 .sh文件,这是Linux中的shell脚本文件,那么这种文件在windows下如何运行呢,其实我们可以通过git来实现,接下来看我操作。首先我们...
    99+
    2023-02-21
    Pycharm运行sh文件 Windows Pycharm运行sh文件
  • Windows环境下怎么使用Pycharm运行sh文件
    今天小编给大家分享一下Windows环境下怎么使用Pycharm运行sh文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首...
    99+
    2023-07-05
  • Windows下实现pytorch环境搭建
    Anaconda安装 安装步骤: 1、官网下载安装包:https://www.anaconda.com/distribution/ 2、运行并选择安装路径,等待安装完成。(要记得...
    99+
    2024-04-02
  • plsql命令行执行sql文件怎么实现
    要在PL/SQL命令行中执行SQL文件,可以按照以下步骤操作: 打开命令行窗口,并进入到PL/SQL的安装目录下。 使用以下...
    99+
    2024-04-09
    plsql
  • 基于paramiko的文件批量分发和命令批量执行
        在实际工作环境中,有可能需要去运维百台服务器,甚至更多。以应用升级为例,对应用做升级操作,首先得停止应用服务,防止新的应用数据写入,并备份应用部署目录,然后替换成新的代码文件、配置文件等。替换...
    99+
    2023-06-02
  • 如何使用Linux中shell脚本实现FTP定时执行批量下载指定文件
    小编给大家分享一下如何使用Linux中shell脚本实现FTP定时执行批量下载指定文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用FTP定时批量下载指定文件...
    99+
    2023-06-09
  • conda环境找不到可执行的conda文件
    在pycharm中的conda环境配置环境时,显示找不到可执行的conda文件,找到安装的环境文件夹imageclub下的python.exe也不行 解决办法: 在conda环境中打开文件,找到anaconda3根目录下scripts下...
    99+
    2023-09-05
    conda python pycharm
  • node环境执行js文件的完整步骤
    目录1、JavaScript代码的执行2、Node的REPL3、Node程序执行参数传递总结1、JavaScript代码的执行 目前知道的两种方式有两种: 将代码交给浏览器(在浏览器...
    99+
    2023-02-03
    node 执行js文件 nodejs 可执行文件 node执行js文件的命令是什么
  • Java实现批量下载选中文件功能
    小编给大家分享一下Java实现批量下载选中文件功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.在action中定义变量 private ...
    99+
    2023-05-30
    java 下载文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作