@ECHO off
@title Hr数据库部门、人员信息同步
SET user=hrmis
SET password=hrmis
SET serverip=1921680110
SET db=HRDBG
ECHO 当前使用的数据库连接:服务器IP:%serverip% 数据库:%db% 用户名:%user% 密码: %password%
ECHO 请确认数据库连接设置正确,如果不正确请点窗口右上角×退出!!!!!!!
pause
set t0=%TIME:~0,1%
set logTIME=_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
if "%t0%"==" " set logTIME=_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%_0%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%
set logfile0=Mas%logTIME%log
ECHO 脚本程序开始运行时间:[%DATE:~0,10% %TIME:~0,8%]
ECHO 脚本程序开始运行时间:[%DATE:~0,10% %TIME:~0,8%] >> %logfile0%
ECHO 当前使用的数据库连接:服务器IP:%serverip% 数据库:%db% 用户名:%user% 密码: %password% >>%logfile0%
ECHO updatesql\1、部门、人员信息同步sql
ECHO updatesql\1、部门、人员信息同步sql>>%logfile0%
osql -U %user% -P %password% -S %serverip% -d %db% -i updatesql\1、部门、人员信息同步sql>>%logfile0% -n
ECHO updatesql\2、考勤数据导入sql
ECHO updatesql\2、考勤数据导入sql>>%logfile0%
osql -U %user% -P %password% -S %serverip% -d %db% -i updatesql\2、考勤数据导入sql>>%logfile0% -n
ECHO updatesql\3、加班重新计算sql
ECHO updatesql\3、加班重新计算sql>>%logfile0%
osql -U %user% -P %password% -S %serverip% -d %db% -i updatesql\3、加班重新计算sql>>%logfile0% -n
ECHO [%DATE:~0,10% %TIME:~0,8%]处理成功!退出系统重新登陆,获取最终结果。。。。。。
ECHO [%DATE:~0,10% %TIME:~0,8%]完成。 >> %logfile0%
pause
以上是BAT示范文件,保存为BAT格式打开
通用命名约定 (UNC) 验证方法也称为“UNC Passthrough 验证”,它确定获得远程计算机上 UNC 共享访问使用的凭据。从 IIS 60 开始,UNC 验证使用以下方法查看请求用户和配置数据库 UNCUserName 和 UNCPassword 属性中存储的凭据,以确定传送到具有 UNC 共享的计算机上的凭据:
如果指定了 UNCUserName(非空)并且 UNCPassword 有效,则将配置数据库用户凭据作为访问的用户标识发送到远程共享。如果指定了 UNCUserName(非空)但是 UNCPassword 无效,则向客户端发送“500 内部服务器错误:用户名或密码无效”消息。
如果 UNCUserName 为空,则将请求用户的凭据(用于已验证请求的一组验证的凭据或用于匿名请求的 IUSR_computername 凭据)作为访问的用户标识发送到远程共享。
注意 不再将 UNCAuthenticationPassthrough 配置数据库项用于 UNC 验证。
参考资料:
isql -U sa -P password -d master -Q"BACKUP DATABASE [databasename] to disk='D:\DB\databasename_%date:~0,4%%date:~5,2%%date:~8,2%0400BAK'"
这是sql2000的,你试一下,一般能通用。
注意用户和密码需要管理员权限 修改一下,还有数据库名修改一下
原理:
使用"C:\Program Files\PostgreSQL\90\bin\psqlexe"来建立到PostgreSQL数据库的连接后执行SQL语句。
(建立数据库连接的方法,可以参考C:\Program Files\PostgreSQL\90\scripts\runpsqlbat文件。)
一,执行SQL语句
SET DB_NAME=TEMP
"C:\Program Files\PostgreSQL\90\bin\psqlexe" -h localhost -U postgres -d %db_NAME% -p 5432 -w -c "SELECT FROM TABLE1;"
二,执行SQL脚本文件
在SQL语句比较复杂时,可以先把SQL语句保存到文件中,然后用psqlexe执行该文件。
@rem move to the current file's directory
%~d0
CD %~dp0
@rem excute a sql script file to create database
"C:\Program Files\PostgreSQL\90\bin\psqlexe" -h localhost -U postgres -d postgres -p 5432 -w -f resource/db/createdbsql
如果有多个SQL脚本文件(如:asql, bsql, csql),可以新建一个SQL脚本文件(indexsql)来调用这多个脚本文件,这样在BAT中只需要一个命令语句,而不需要多次复制相似的命令。新建indexsql文件的内容可以是:
\i resource/db/createdbsql
\i resource/db/createspsql
\i resource/db/insertdatasql
备注:
在CMD窗口中输入 "C:\Program Files\PostgreSQL\90\bin\psqlexe" - 可以查找psql的相关命令。
建立了数据库连接后,可以用help命令,或者\ 查找sql命令。
1
set zip_path="C:\Program Files (x86)\HaoZip"
rem 注意要加引号。由于之前没加引号,后面找不到压缩命令,所以不压缩。
2
注释说明压缩程序是什么和参数
3
后面连个词都没有,直接一堆%就行了,就是变量代表的命令。
以上就是关于.如何用.bat调用db2数据库的多个sql文件全部的内容,包括:.如何用.bat调用db2数据库的多个sql文件、执行网络主机上的bat文件时,cmd提示UNC路径不受支持,windows启动默认路径、批处理(.bat)文件如何实现sql server 2008 数据库备份请大神赐代码,最好带上注释,金币大大的有!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)