我有一个rails应用程序,可以导入自己的VIEW。
现在第一个mssql查询失败,因为当要求某个表中的可用列时,信息模式返回0行(哪些rails需要准备对象)。
当通过studio连接到mssql服务器时,我可以展开VIEW并查看所需的所有列,但是查询信息模式如下:
| SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME ='view'
返回零行。
我考虑了权限问题(虽然我没有得到任何错误,只是一个空的结果集)并且已经手动授予对相应用户的视图的权限,并且它仍然存在。我也做了查询,作为实际创建数据库并且仍然有0行的管理员。
我想知道:
我还重新启动了sql服务并查看事件数据库以搜索损坏的表,索引或其他内容。事件并没有透露任何东西(显而易见)。
还有其他可能遗漏的东西吗?
感谢, -u
答案 0 :(得分:0)
使用此查询获取视图的列名...
SELECT C.name
FROM sys.columns c INNER JOIN sys.views v
ON c.[object_id] = v.[object_id]
WHERE v.name = 'Your_View_Name'
你不应该使用信息架构视图的原因,阅读这篇The case against INFORMATION_SCHEMA views Aaron Bertrand的文章。
答案 1 :(得分:0)
确保指定表格的完整路径:
select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_CATALOG = 'dbasename' and TABLE_SCHEMA = 'dbo' and TABLE_NAME = 'tablename'