我在开发模式中创建了SQL存储过程,并且工作正常。现在我们的任务是将我们的开发代码转移到生产代码。如何将这些存储过程从一个模式复制到另一个模式?我是否需要在目标模式上重新编译整个过程?或者有没有办法在目标架构上注册这些程序?任何人都可以建议我更好的方法来复制存储过程吗?
我通过iSeries Navigator for Windows Version 5 Release 4创建了程序。
先谢谢, 苏雷什
答案 0 :(得分:4)
用于创建存储过程的SQL应该在源文件中作为某个源控制系统(CVS,SVN等)中项目的一部分。
要将项目“部署”到新服务器(Dev,QA或Production),只需要在新服务器/数据库上执行这些“源SQL”文件。
实际上,对数据库的任何更改(更改了表列,添加了新表)都应该在源代码管理中的SQL文件中,并以相同的方式应用。
虽然数据库开发工具并不总是让它看起来像 - 但SQL也是源代码。 : - )
答案 1 :(得分:1)
通常,不需要原始来源。打开iSeries Navigator并向下深入查看包含开发SP的模式。选择所需的所有选项,右键单击并选择“生成SQL”。选择在“RunSQL脚本”中打开(并且可选地包括DROP语句)。
这将在一个地方为您提供所有选定SP的脚本。这可以存储在您选择的任何地方。此外,您可以使用Edit->如果需要在脚本中更改任何模式名称,请替换。
然后你可以选择菜单选项Connection->使用临时JDBC设置...指向新架构。最后,单击工具栏上的“全部运行”图标,将脚本中的SP生成到新架构中。
简而言之,在iNav“运行SQL脚本”中选择您想要的那些,指向新架构并在基本上单个操作中创建它们。
答案 2 :(得分:0)
请阅读链接,这可能会有所帮助。 http://weblogs.asp.net/steveschofield/archive/2005/12/31/change-schema-name-on-tables-and-stored-procedures-in-sql-server-2005.aspx
答案 3 :(得分:0)
我发现的最好的方法(到目前为止)是使用SQL Management Studio,并使用Script Procedure As ...菜单选项。这将为您的sprocs生成SQL源(根据您使用的菜单选项创建/更改)
如果需要批量复制所有sprocs /用户定义的函数,请使用Tasks-> Generate Scripts菜单选项。在生成的一系列对话框中,您可以选择生成脚本的sprocs /函数,然后在新数据库上运行这些脚本。