【问题标题】:Run a .sql file present in the solution运行解决方案中存在的 .sql 文件
【发布时间】:2012-03-02 22:28:40
【问题描述】:

我的解决方案中有一个 .sql 文件。这个 .sql 文件有一些创建数据库的脚本,在这个 .sql 文件的帮助下,我想在运行时创建一个数据库。我有很多 sn-ps 可以在 C# 中运行 .sql 文件。但是,如果它们出现在我自己的解决方案中怎么办,并且解决方案可以放置在任何位置。是的,我可以通过解决方案路径获取文件的路径,然后执行它,但是read somewhere that it is advisable。那么这是我必须遵循的方法吗?即使我正在发布我的应用程序,如果我这样做也可以吗?

【问题讨论】:

    标签: c# sql sql-server database c#-4.0


    【解决方案1】:

    您应该将其设置为编译为嵌入式资源,然后调用typeof(SomeType).Assembly.GetManifestResourceStream("YourNamespace.FileName.sql")

    【讨论】:

    • 好的...您的查询中的 SomeType 是什么?而且我无法在 NamespaceName.FileName.sql 中找到我的文件名
    • @rapsalands:程序集中的任何类型。什么?
    • 我不确定我的示例中的类型应该是什么。可以提供示例或相关链接的帮助吗?请
    【解决方案2】:

    将所有 sql 脚本名称放在 SchemaScripts.sql 中。该文件将包含如下条目:

    :r .\Tables\MyTable.sql
    :r .\StoredProcedures\My_SP.sql
    

    在批处理文件中写下以下代码并将其保存在 SchemaScripts.sql 文件的相同位置:

    sqlcmd -b -E -S .\SQLEXPRESS -d DatabaseName -i .\SchemaScripts.sql
    

    执行批处理文件。

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 2023-01-03
      • 2011-03-22
      • 2018-02-17
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多