我需要: 我可以在不修改sqlcmd.exe的情况下运行的纯SQL,以将testdata插入到testdatabase中。
我有: 使用NHibernate生成插入操作的服务调用和实体。
不工作的解决方案: 将输出记录到文本文件。 NHibernate生成参数化的sql,但以sqlcmd.exe无法运行的格式记录它们。
有没有办法强制NHibernate生成没有参数的sql?
或者有没有更好的解决方案?
答案 0 :(得分:0)
您可以记录事务日志,SQL Server Profiler正在提供类似的内容。
在我们的应用程序中,我们用C#编写工厂来生成实体。我们没有SQL脚本来创建testdata。执行器(.exe)获取程序集,创建实体并将它们存储到数据库。这样我们就不必维护脚本了。工厂是编译时安全的。
答案 1 :(得分:0)
根据您的架构,从实际数据库生成INSERT可能更容易,尝试使用如下实用程序:
Procedure to script your data (to generate INSERT statements from the existing data)