Я тестировал это приложение много раз, но внезапно оно выдавало такую ошибку при запуске приложения:
'''System.Data.SqlClient.SqlException: 'Субъект сервера "домен\пользователь" не может получить доступ к базе данных "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())
{
Я проверил в ИТ-отделе, они сказали, что никаких изменений разрешений не было. Любые идеи о том, как я могу перекодировать это или обновить подключение к данным? Я искал в обозревателе решений имя базы данных, в данном случае «db2», однако оно нигде не отображается в проекте.
Я использовал базу данных, на которую ссылаются, только при создании отчетов SSRS.