Pymssql(或类似)函数 return 所有可用的存储过程
Pymssql (or similar) function to return all available stored procedures
我们的数据库工程师构建了存储过程供我们从 Python/R 等调用。这些现在有 10 多个,超过 2-3 个数据库。
我有 70% 的人做了什么的记录,但我想知道是否有 quick/dirty 查询数据库的方法,并提取可用存储过程的列表(给定连接字符串中提供的登录名。)
我通常使用
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_sql_query(sql,cnxn)。这工作正常 - 只要我知道所需的存储过程名称和参数。
我已经将它们中的大部分硬编码到一个模块中,但只是想看看是否有人知道一些内置功能来查询数据库以获取此信息 - 至少是可用的存储过程,如果可能的话,还有必需的参数。
好的,这很快就与最初的问题无关,但就在本周又变得相关了。
我要找的是:
sql_SPs = """Select [NAME] from sysobjects where type = 'P' and category = 0"""
当被称为:
df_1 = pd.read_sql_query(sql_SPs, cnxn)
Returns 一个包含存储过程的数据框(在本例中很好)
我们的数据库工程师构建了存储过程供我们从 Python/R 等调用。这些现在有 10 多个,超过 2-3 个数据库。
我有 70% 的人做了什么的记录,但我想知道是否有 quick/dirty 查询数据库的方法,并提取可用存储过程的列表(给定连接字符串中提供的登录名。)
我通常使用
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_sql_query(sql,cnxn)。这工作正常 - 只要我知道所需的存储过程名称和参数。
我已经将它们中的大部分硬编码到一个模块中,但只是想看看是否有人知道一些内置功能来查询数据库以获取此信息 - 至少是可用的存储过程,如果可能的话,还有必需的参数。
好的,这很快就与最初的问题无关,但就在本周又变得相关了。
我要找的是:
sql_SPs = """Select [NAME] from sysobjects where type = 'P' and category = 0"""
当被称为:
df_1 = pd.read_sql_query(sql_SPs, cnxn)
Returns 一个包含存储过程的数据框(在本例中很好)