1

我正在使用 ruby​​ on rails 从远程 MS Sql 数据库中获取现有表。我在尝试运行应用程序时遇到此错误。

ODBC::Error: 42000 (229) [Microsoft][ODBC SQL Server Driver][SQL Server]对象 'TeviceDetails'、数据库 'BObd'、架构 'dbo' 的 SELECT 权限被拒绝。: EXEC sp_executesql N'SELECT [TeviceDetails].* FROM [TeviceDetails]'

从论坛和其他网站,我了解到这是由于“服务器数据库拒绝许可”,并提到了几种解决方案来纠正这个问题。以下是我从论坛获得的解决方案。

但我的问题是,我真的不知道在哪里输入/授予这些权限。(它是在 ruby​​ 控制台还是 ODBC 控制台中。如果它在 ODBC 控制台中,我可以从哪里访问这个 ODBC 控制台??)

USE msdb

CREATE USER [TheUser] FOR LOGIN [TheLogin]
GO

GRANT EXECUTE ON sp_start_job TO [TheUser]
GO

 SQLAgentUserRole
 SQLAgentReaderRole
 SQLAgentOperatorRole
4

2 回答 2

0

请阅读这个答案。

TSQL 为 MS SQL Server 授予 db_datareader 和 db_datawriter

您可以为数据库执行一次。

于 2013-03-08T05:28:39.467 回答
0

最简单的方法是在 SQL Server Management Studio 或 SSMS 中。它是从微软免费下载的。

http://www.microsoft.com/en-us/download/details.aspx?id=8961

您可以将这些输入到 ODBC 控制台中,但您也可以使用合适的工具来完成这项工作。

于 2013-03-08T05:14:56.733 回答