Insight.database执行sql函数

时间:2014-08-26 07:12:23

标签: sql insight

执行sql函数或过程guts中的Insight数据库执行查询以获取有关存储过程或函数及其参数的信息。 但是在sql函数查询的情况下,返回第一个参数名称为空。

例如:

exec sp_executesql N'SELECT ParameterName = p.Name, SchemaName = s.name, TypeName = t.Name
FROM sys.parameters p
LEFT JOIN sys.types t ON (p.user_type_id = t.user_type_id)
LEFT JOIN sys.schemas s ON (t.schema_id = s.schema_id)
WHERE p.object_id = OBJECT_ID(@Name)',N'@Name nvarchar(4000)', @Name=N'dbo.FuncName'

此查询返回参数列表,但第一个参数为空。 在这种情况下,Insight.Database无法执行查询。

有没有办法在不使用适配器的情况下解决它?

1 个答案:

答案 0 :(得分:0)

据我所知,SqlCommand无法直接执行SQL函数(无论参数是否正确)。

要直接调用函数,您需要使用SQL语句。例如:

select * from dbo.fn_GetUserId_Username(@Username)

在这种情况下,Insight应该正确地获取参数。