【问题标题】:LightSwitch & Stored Procedures灯开关和存储过程
【发布时间】:2013-10-08 15:07:33
【问题描述】:

我看过一些关于在 Lightswitch 中运行 SQL Server 存储过程的帖子,但我想做的是:

  1. 创建一个 LightSwitch 应用程序(连同它自己的数据库)
  2. 从 SQL Server Management Studio 连接到该数据库
  3. 在该数据库中创建一个或多个存储过程
  4. 可能安排这些存储过程每天运行

到目前为止,我已经在尝试附加到 Lightswitch ApplicationDatabase.mdf 的第 2 步上挂断了。我收到以下错误,显然是因为没有关联的日志文件 (.ldf)。

我知道将存储过程放在 LightSwitch 生成的数据库中可能不是最佳实践,并且也很欣赏这些方面的输入。

谢谢,

基思

错误消息:“无法打开物理文件“C:\Documents and Settings\keithm\My Documents\Visual Studio 2010\Projects\Application13\Application13\Bin\Data\Temp\ApplicationDatabase_log.LDF”。操作系统错误2:“2(系统找不到指定的文件。)”。(Microsoft SQL Server,错误:5120)“

【问题讨论】:

    标签: visual-studio-lightswitch


    【解决方案1】:

    当我向 LightSwitch 生成的数据库添加新的增强功能时,我首先部署数据库,然后应用我设计的新功能(例如表、函数、存储过程)。只要我不修改 LightSwitch 生成的表,LightSwitch 不会受到影响,也不会干扰我在更新数据库时所做的修改。这个过程对我来说效果很好。

    因此,我建议您部署应用程序,然后将存储过程添加到部署的数据库中,而不是尝试访问 LS 开发数据库数据文件。出于开发目的,您可以部署到测试环境并复制生成的数据库以进行处理。

    【讨论】:

      【解决方案2】:

      为什么不在 Lightswitch 之外创建数据库?我认为直接访问内部 Lightswitch 数据库没有任何优势。事实上,这听起来是个糟糕的主意。它不能直接访问。

      如果您在 Lightswitch 之外执行此操作,您可以在数据库设计中做任何您想做的事情,包括所有表、存储过程等。没问题。然后最后将 Lightswitch 指向您的外部数据库,它会自动获取表和视图。 (不是存储过程)。

      为了安排事情在设定的时间运行,请在 SQLServer 中使用 SQLAgent 作业(假设您正在使用它的 SQLServer)。这也完全在 Lightswitch 之外完成。

      Lightswitch 的限制似乎让我们远离了存储过程;不要与之抗争。将 Lightswitch 视为一个非常基本的创建/读取/更新/删除工具。将您的存储过程和计划作业作为 SQLAgent 作业保留在外部。这种方法对我有用。

      【讨论】:

        猜你喜欢
        • 2014-11-13
        • 2023-04-05
        • 2013-10-18
        • 1970-01-01
        • 1970-01-01
        • 2014-09-14
        • 2011-07-17
        • 2011-01-24
        • 2013-09-16
        相关资源
        最近更新 更多