【问题标题】:Building an MSSQL database with ColdFusion or Java from an ".sql" file?从“.sql”文件使用 ColdFusion 或 Java 构建 MSSQL 数据库?
【发布时间】:2011-10-21 00:42:57
【问题描述】:

我有一个使用 MS SQL Management Studio 脚本向导创建的 .sql 文件。它包含整个数据库架构,包括视图存储过程、表、索引等。

我正在寻找一种方法来自动化使用 ColdFusion 或 Java 甚至 .NET 创建数据库的过程。

我尝试过使用 CFQUERY,但它会在 .sql 文件中引发各种错误。

我尝试将 ANT 与 sqljdbc4.jar 一起使用,但它在第一行也失败了,并显示“[sql] 无法执行:BEGIN TRAN” com.microsoft.sqlserver.jdbc.SQLServerException: '' 附近的语法不正确。

【问题讨论】:

  • 发布您的一些 Java 设置,以便我们为您提供更多帮助。

标签: java ant coldfusion database-schema sqljdbc


【解决方案1】:

我非常怀疑您是否可以在 MS 工具之外使用向导生成的脚本。该向导大量使用GOwhich is not standard T-SQL。此外,CREATE PROCEDURE 之类的命令必须是批处理中的第一条语句。要运行向导脚本,您需要使用像 sqlcmd.exe 这样的 MS 工具。使用正确的权限,您应该能够从<cfexecute> 运行sqlcmd.exe

【讨论】:

  • 谢谢利。我在发布问题后不久发现了 sqlcmd.exe。效果很好。
【解决方案2】:

假设您具有适当的权限,您应该能够在

我们在 ColdFusion 中使用 CREATES 等生成我们所有的数据库

您是否有适当的权限,您遇到了什么错误。

【讨论】:

  • 向导通常会添加客户端GO 命令,这在cfquery 中不起作用。
  • 除了删除非标准的 T-SQL(“GO”语句非常猖獗),还要检查 DSN 设置是否允许运行多个语句。我有一段时间没有设置 MSSQL DSN,但这是您为 MySQL 设置的方式:img.skitch.com/20111021-d9m2f62wg6983wc5myt7qhnqji.png
  • 仅供参考:与 mySQL 不同,MS SQL DSN 的多条语句开箱即用。
【解决方案3】:

如果您使用 ORM,您可以将 this.ormsettings.sqlscript 设置为指向您在 Application.cfc 中的 .sql 文件,并且当 this.ormsettings.dbcreate 设置为 dropcreate 时它将在 ORMReload() 上运行。

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSED380324-6CBE-47cb-9E5E-26B66ACA9E81.html

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多