我想在.NET中构建一个设计器,并希望能够从存储过程中检索输出的列和列类型而不调用它,以便设计器可用于映射输出。这可能吗?我甚至愿意在必要时使用非托管API。有没有办法找出存储过程返回而没有运行它?
1
A
回答
3
我相信你要找的是SET FMTONLY
(Documentation)。
这使您可以执行一个SP(或select语句)并查看将在没有实际执行查询的情况下返回哪些列。
+0
通过SQL事件探查器,我看到ODBC,OLE-DB和/或其他低级API使用此技巧。 Upvoted,但我不知道使用它会多么容易。 – 2011-01-05 15:09:26
+0
谢谢。我认为这会起作用。它似乎返回所有可能的返回值,即使它们有条件地返回。 – 2011-01-05 15:21:55
1
这通常是不可能的,因为即使是单个存储过程也可以返回不同的结果集,具有不同的列或列数据类型。
0
在极端情况下,即使返回的结果集的数量可能取决于参数,并且存储过程使用动态sql时,它绝对不可能。
相关问题
- 1. 存储过程没有任何返回
- 2. 存储过程返回没有列
- 3. 有没有办法让SQL Server存储过程自动出错?
- 4. 有没有办法显示HTML而不运行它?
- 5. 有没有办法通过C#对象SQL存储过程
- 6. 有没有办法以预定义的时间间隔运行存储过程?
- 7. 有没有办法找出函数的返回类型?
- 8. MySQL存储过程没有返回值它应该
- 9. 有没有办法找出pytest-xdist网关正在运行?
- 10. 有没有办法跨存储过程传递临时表
- 11. 有没有办法关闭存储过程的结果集?
- 12. 有没有办法在Oz中存储函数/过程调用?
- 13. 有没有办法让YQL返回HTML?
- 14. 有没有办法运行Chrome扩展程序而不点击?
- 15. 有没有办法检查ansicon.exe是否存在,而不使用CMake运行它?
- 16. ms sql存储过程返回的数据没有输出
- 17. PetaPoco输出参数从存储过程没有返回
- 18. PHP sqlsrv存储过程有时没有返回结果
- 19. 存储过程没有返回任何列,只有整数
- 20. 它没有返回
- 21. 有没有办法运行NPM安装
- 22. 有没有办法脱机运行Trac?
- 23. 的phpmyadmin运行MySQL的存储过程,但没有输出
- 24. 有没有办法添加一行只有当它不存在?
- 25. 有没有办法从运行的ruby进程转储内存中的对象?
- 26. DOS返回ErrorLevel没有运行程序
- 27. 有没有办法查看Rapid SQL对存储过程执行的SQL?
- 28. 有没有办法使用业力没有运行节点?
- 29. 存储过程没有得到执行
- 30. 有没有办法强制WebClient,不返回缓存数据?
不要这样想。请参阅相关的[Microsoft Connect项目](https://connect.microsoft.com/SQLServer/feedback/details/525653/stored-procedures-should-expose-detailed-contracts)。编辑:虽然实际上Visual Studio强类型数据集设计器在一定程度上执行此操作... – 2011-01-05 15:05:03