我已经测试过这个应用程序很多次了,但是在运行应用程序的时候,它突然抛出了这样一个错误:
''system.data.sqlclient.sqlexception:'服务器主体“domain\user”无法在当前安全上下文下访问数据库“db2”。''
数据库名“db2”不是应用程序中引用的数据库的名称。
应用程序中抛出错误的位置如下:
private List<DBInvoiceModel> GetInvoiceRecords(int orderNumber)
{
// "vsView"
var dbConnection = new SqlConnection("Data Source=domain;Initial Catalog=Test;Integrated Security=true");
dbConnection.Open();
var sqlCmd = dbConnection.CreateCommand();
sqlCmd.CommandText = @"SELECT
[ItemID]
,[TranNo]
,[STaxAmt]
,[TranAmt]
,[Status]
,[EDITranNum]
,[QtyShipped]
,[FreightAmt]
,[TrackingNumber]
,[ItemPrice]
FROM [Test].[dbo].[vsView]
WHERE EDITranNum = '" + orderNumber.ToString() + "'";
var reader = sqlCmd.ExecuteReader();
List<DBInvoiceModel> result = new List<DBInvoiceModel>();
while (reader.Read())
{
我和it部门核实过,他们说没有权限更改。关于如何重新编写代码或刷新数据连接,有什么想法吗?我已经在解决方案资源管理器中搜索了数据库的名称,在本例中是“db2”,但是,它不会出现在项目中的任何地方。
我只在创建ssrs报告时使用了引用的数据库。
暂无答案!
目前还没有任何答案,快来回答吧!