Кто-нибудь знает о каких-либо тонких различиях между поведением SQL Server 2005 при выполнении команды через OSQL и программным запросом с использованием SQlConnection?
У меня есть клиент с базой данных на удаленной машине, который яможно использовать OSQL для взаимодействия.Тем не менее, когда я пытаюсь подобный запрос через создание sqlconnection / sqlcommand;Я получаю сообщение об ошибке:
['При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром.Сервер не найден или не был доступен.Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / конкретного экземпляра).
Вот OSQLкоманда, которая работает:
osql -S myHost\SQLEXPRESS -U sa -q "USE [TempDB] select [Endpoint] from [Service]"
Это не работает, сгенерированная выше ошибка.
SqlConnectionStringBuilder cnBldr = new SqlConnectionStringBuilder();
cnBldr.UserID = "sa";
cnBldr.Password = "PASSWORD";
cnBldr.DataSource = "myHost\\SQLEXPRESS";
cnBldr.InitialCatalog = "TempDB";
using (SqlConnection cn = new SqlConnection(cnBldr.ConnectionString))
using (SqlCommand cmd = new SqlCommand("select [Endpoint] from [Service]",cn))
{
cn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
rdr.Read();
}
В обоих случаях я работаю как один и тот же пользователь (то есть: я регистрируюВ качестве пользователя Windows я либо открываю окно cmd и выполняю команду OSQL, либо запускаю приложение Windows, которое содержит фрагмент кода выше. OSQL будет работать, фрагмент кода генерирует ошибку, описанную выше. В обоих случаях используется 'sa'учетная запись для доступа к базе данных. Фрагмент OSQL предложит пользователю ввести пароль.
Есть ли разница между этими двумя факторами, которые могут быть связаны с этим поведением? Я не верю, что это связано с проблемойс количеством подключений, как я могу свободно переключаться между выполнением команды osql (которая будет работать) и выполнениемприложение (которое генерирует сообщение об ошибке).
Спасибо за любые мысли.
-john