【发布时间】:2011-12-07 09:00:17
【问题描述】:
这个想法是制作一个脚本,每小时(例如)获取存储过程和 udf 内容(代码)并将其添加到 SVN 存储库。结果我们有了sql版本控制系统。
有谁知道如何使用 Python(sqlAlchemy、pyodbc 或 smth)备份存储过程代码。
在使用 SQL 管理对象之前,我已通过 C# 完成此操作。
提前致谢!
【问题讨论】:
标签: c# python sql-server stored-procedures smo
这个想法是制作一个脚本,每小时(例如)获取存储过程和 udf 内容(代码)并将其添加到 SVN 存储库。结果我们有了sql版本控制系统。
有谁知道如何使用 Python(sqlAlchemy、pyodbc 或 smth)备份存储过程代码。
在使用 SQL 管理对象之前,我已通过 C# 完成此操作。
提前致谢!
【问题讨论】:
标签: c# python sql-server stored-procedures smo
从 Python 访问 SMO 没有简单的方法(因为没有从 Python 访问 .NET 的通用解决方案),所以我会用 C# 编写一个命令行工具并使用 subprocess 模块从 Python 调用它.也许你可以用ctypes 做点什么,但我不知道这是否可行。
但是,也许更重要的问题是您为什么想要或需要这样做。你的数据库结构真的经常变化吗?如果是这样,大概您无法真正控制它,那么源代码控制在这种情况下有什么好处?首先如何部署数据库更改?通常更改从源代码控制进入生产,而不是相反,因此 DDL(包括表、索引等)的“主”源是 SVN,而不是数据库。但是您没有提供太多关于您真正需要实现什么的信息,所以也许有充分的理由需要在您的环境中执行此操作。
【讨论】: