Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
Python Pymssql(或类似)函数返回所有可用的存储过程_Python_Sql Server_Pymssql - Fatal编程技术网

Python Pymssql(或类似)函数返回所有可用的存储过程

Python Pymssql(或类似)函数返回所有可用的存储过程,python,sql-server,pymssql,Python,Sql Server,Pymssql,我们的数据库工程师为我们构建存储过程,以便从Python/R等进行调用。现在,这些存储过程的数量超过了2-3个数据库 我有70%的存储过程的记录,但我想知道是否有一种快速/肮脏的方法来查询数据库,并提取可用存储过程的列表(给定连接字符串中提供的登录名) 我通常使用 sql = " EXEC stored_proc_name @param1 = 'xyz', @param2 = 'abc' " cnxn = pymssql.connect( host = r'ip.

我们的数据库工程师为我们构建存储过程,以便从Python/R等进行调用。现在,这些存储过程的数量超过了2-3个数据库

我有70%的存储过程的记录,但我想知道是否有一种快速/肮脏的方法来查询数据库,并提取可用存储过程的列表(给定连接字符串中提供的登录名)

我通常使用

sql = "
EXEC stored_proc_name
@param1 = 'xyz',
@param2 = 'abc'
"
cnxn = pymssql.connect(
                host = r'ip.ad.dr.es.',
                port = '1433',
                user = r'db_user',
                password = r'pdws',
                database = 'db_name'
                    )
然后是精彩的pd.read\u sql\u查询(sql,cnxn)。只要我知道存储的进程名和所需的参数,这就行了


我已经将它们中的大多数硬编码到一个模块中,但我只是想看看是否有人知道一些内置功能,可以查询数据库中的这些信息-至少是可用的存储过程,如果可能的话,还包括所需的参数。

好的,这很快就与最初的问题无关了,但就在本周,这一点再次变得重要起来

我要找的是:

sql_SPs = """Select [NAME] from sysobjects where type = 'P' and category = 0"""
当被称为:

df_1 = pd.read_sql_query(sql_SPs, cnxn)

返回一个包含列出的存储过程的数据帧(在本例中很好)

只需使用ManagementStudio连接到数据库,并检查您将在视图中看到的内容。例如,您应该使用
sp_help procedurename
查看参数。是的,我知道我可以这样做,我也可以这样做-我想知道是否有一种python方法/调用可以返回,您当然可以在python中运行完全相同的SQL