十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用SQLCMD在SQLServer上执行多个脚本
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都网站建设、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的烟台网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
第一步:先创建一个在C盘下的文件夹:C:\Scripts。然后把脚本存放到这个文件夹中:
脚本1:CREATE_DB.sql
/* SCRIPT: CREATE_DB.sql */
/* 创建TestDB数据库 */
-- This is the main caller for each script
SET NOCOUNT ON
GO
PRINT '开始创建TestDB数据库'
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 '创建完毕'
GO
sql脚本要在dbms里执行\x0d\x0a\x0d\x0a比如oracle,你可以在sqlplus里,或pl/sql developer里执行\x0d\x0a\x0d\x0a直接复制sql语句过去,回车就好了(注意带分号)\x0d\x0a\x0d\x0a如果你的sql是一个sql文件(*.sql)\x0d\x0a可以使用start或@ 然后跟文件的路径(c:/a.sql) 回车
sqlserver 2012怎么执行sql脚本
SQL Server 2012导出的过程
1.打开Management Studio,登录到服务器,在数据库中选择要转移的数据库,
右键--“任务(T)”--“生成脚本(E)...”。
2.在“生成和发布脚本”窗口中,点击“下一步”,
3.“选择要编写脚本的数据库对象”,可以不做设置,点击“下一步”,
4.点击[保存到文件]右边的“高级”按钮,在对话框中,设置“为服务器版本编写脚本”为“SQL Server 2008 R2”,
设置“要编写脚本的数据的类型”为“架构和数据”。选择保存脚本的位置。
5.下一步,再下一步。导出完成。
SQL Server 2008 R2导入的过程
1.打开Management Studio,登录到服务器,
2.选择菜单“文件”——“打开”——“文件”,选择.sql脚本文件,点击工具栏中的“执行”按钮。
3.在左侧的“对象资源管理器”中右键“数据库”——“刷新”。完毕。
一、客户的数据库数据被篡改,利用Log Explorer工具根据日志生成的回滚脚本有200多M,不可能一下子扔到查询分析器里去执行,于是想是否SQL Server是否可以像Oracle那样直接执行.sql文件。讲过查资料,测试,发现可以在cmd窗口中执行如下命令执行Sql文件:
二、osql -S 127.0.0.1 -U sa -P sa -i d:\test.sql;
三、简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码 -i表示要执行的脚本文件路径。
四、Apache ant提供了直接执行sql脚本文件的功能:
五、Java代码:
public class AntExecSql
{public static void execSqlFile(String url, String userID, String pwd, String sqlFile)
{
SQLExec2 sqlExec = new SQLExec2();
// 设置数据库参数
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); // 设置是否输出
// 输出到文件 sql.out 中;不设置该属性,默认输出到控制台
// sqlExec.setOutput(new File("d:/script/sql.out"));
sqlExec.setProject(new Project()); // 要指定这个属性,不然会出错
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();
}
}
}