Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过Python备份msSQL存储的过程或UDF代码_C#_Python_Sql Server_Stored Procedures_Smo - Fatal编程技术网

C# 通过Python备份msSQL存储的过程或UDF代码

C# 通过Python备份msSQL存储的过程或UDF代码,c#,python,sql-server,stored-procedures,smo,C#,Python,Sql Server,Stored Procedures,Smo,其想法是制作一个每小时(例如)获取存储过程和udf内容(代码)的脚本,并将其添加到SVN repo中。因此,我们有了sql版本控制系统 有人知道如何使用Python(sqlAlchemy、pyodbc或smth)备份存储过程代码吗 在使用SQL管理对象之前,我已经通过C#完成了这项工作 提前谢谢 从Python访问SMO没有简单的方法(因为没有从Python访问.NET的通用解决方案),因此我将用C#编写一个命令行工具,并使用子流程模块从Python调用它。也许你可以用ctypes做点什么,但我

其想法是制作一个每小时(例如)获取存储过程和udf内容(代码)的脚本,并将其添加到SVN repo中。因此,我们有了sql版本控制系统

有人知道如何使用Python(sqlAlchemy、pyodbc或smth)备份存储过程代码吗

在使用SQL管理对象之前,我已经通过C#完成了这项工作


提前谢谢

从Python访问SMO没有简单的方法(因为没有从Python访问.NET的通用解决方案),因此我将用C#编写一个命令行工具,并使用
子流程
模块从Python调用它。也许你可以用
ctypes
做点什么,但我不知道这是否可行


但是,也许一个更重要的问题是你为什么想要或需要这样做。数据库的结构真的经常变化吗?如果是这样的话,那么您可能无法真正控制它,那么在这种情况下,源代码控制有什么好处呢?首先,如何部署数据库更改?通常,更改从源代码管理进入生产,而不是相反,因此DDL的“主”源(包括表、索引等)是SVN,而不是数据库。但是您没有提供太多关于您真正需要实现什么的信息,因此可能有一个很好的理由需要在您的环境中这样做。

谢谢您的回复!数据库的结构不会经常改变。SP和UDF源更改。我有SVN来控制PHP源代码。在使用sql的情况下,我发现不使用预生产源代码控制更容易。对我来说,自动备份SP、查看更改或按需恢复源代码更容易。我忘了提到的另一个选项是IronPython,它将使访问SMO变得非常容易。另一方面,它是Python的一个完全不同的实现,因此可能不适合您的环境。