如何使用java执行t-sql脚本?

Posted

技术标签:

【中文标题】如何使用java执行t-sql脚本?【英文标题】:How to execute t-sql script using java? 【发布时间】:2010-03-03 05:23:24 【问题描述】:

我找到了以下使用 java 执行脚本的链接,即 How to execute sql-script file in java? 。但它特定于 postgre 和 mysql

我正在寻找在 Sql server 2005 中执行脚本的相同解决方案。我不熟悉 SQL 命令行。我必须制作一个包含一系列调用类的不同方法的批处理,其中还包括在批处理中间执行脚本。我用谷歌搜索了它。但是,我无法为我的问题找到解决方案。提前致谢。

【问题讨论】:

所以你不能使用,比如说,JDBC?您也有同样的问题,在一个 SQL 脚本中有多个查询? 是的,马特。脚本有多个查询。我刚刚得到一个线索.. 将脚本作为存储过程。并使用准备好的语句执行它。但是,这个问题仍然困扰着我。 【参考方案1】:

与其像存储过程这样肮脏的解决方案,不如试试How to execute sql-script file in java? 中的解决方案?而不是 psql 命令,尝试

Sqlcmd -Shostname\dbname -U username -p password -i sqlscriptfile 

这应该连接到数据库,使用 SQL Server 身份验证,并运行您指定的脚本。巴勃罗在引用问题中的回答应该完成其余的工作。根据您的路径,您可能需要更改“Sqlcmd”位以反映程序在您机器上的位置。

要了解有关命令行实用程序的更多信息,请查看this article on databasejournal.com。

【讨论】:

以上是关于如何使用java执行t-sql脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用相同的SqlConnection对象在多个SqlCommands中声明和使用T-SQL变量来执行多个插入?

T-SQL:导出到新的 Excel 文件

定义视图时如何让 T-SQL 执行 OPTION (FORCE ORDER)?

T-SQL 循环查询结果

ADO.NET Entity Framework 如何查看T

使用T-SQL找出执行时间过长的作业