2012-08-24 2 views
1

Независимо от того, что я пытаюсь, я получаю следующую ошибку при попытке запуска простого запроса выбора к созданной мне базе данных (я запустил точный запрос в студии управления и отлично работает и Логин используется в группе сисадмина):Соединение с SQL Server 2008 с C#

{ «не удается открыть базу данных \» Test \ «с просьбой входа в систему Логин не удалось \ г \ nПоследовательность входа не удалась для пользователя „JackLarson“...» } System.SystemException {System.Data.SqlClient.SqlException}

Мое соединение s Tring является:

Источник данных = \ MPIT_TEST; Initial Catalog = Test Интегрированное Security = True; Connect Timeout = 30; User Instance = True

+0

Какие учетные данные вы используете для подключения к базе данных в SSMS? И какие учетные данные находятся под вашим C#? –

+0

Не могли бы вы отправить запрос из своего кода? Сообщение об ошибке заставляет меня задаться вопросом .. –

+0

Sir Crispalot: Я не уверен, как проверить учетные данные. Из сообщения об ошибке я думал, что он использует мой вход в Windows. David W: Запрос «SELECT * FROM dbo.tblMPINum» – Donnachaidh

ответ

2

вы должны установить имя сервера в вашей строке соединения если ваш имя_сервер является SERVERSQLCOMPUTER строка подключения будет:

Data Source=SERVERSQLCOMPUTER \MPIT_TEST;Initial Catalog=[Test_MPITRACKER];Integrated Security=True;Connect Timeout=30;User Instance=True 

Кроме того, всегда указывать имя сервера, чтобы иметь возможность использовать приложение на каждом компьютере в сетевом entreprise (servername \ serverinstance - абсолютный путь) . \ serverinstance означает, что ваше приложение находится на том же компьютере, что и ваш сервер Sql.

+0

Спасибо @Hassan Boutougha Изменив его, чтобы включить конкретное имя сервера, исправлена ​​проблема – Donnachaidh

+0

приветствую друга ;-) –

0

Посмотрите на сообщение об ошибке.. Он говорит, что не может найти базу данных с именем Test, хотя вы указали Test_MPITRACKER в строке подключения. Похоже, что есть проблема, когда у вас есть база данных с символом undescore _.

Самый простой способ - удалить undescore из имени базы данных.

Если вы хотите использовать имя базы данных с символом подчеркивания, попробуйте обернуть его в квадратные скобки, так это выглядит следующим образом:

Data Source=.\MPIT_TEST;Initial Catalog=[Test_MPITRACKER];Integrated Security=True;Connect Timeout=30;User Instance=True 

Однако, я не проверял это решение, оно основано на информация найдена здесь: Database created in SQL Server Management Studios cannot be found by Visual Studio 2010.

EDIT

Согласно беседы в комментариях это не причина проблемы в данном случае.

+0

Извините, это была моя опечатка. Мой босс строго говорит о возможности того, чтобы что-то конкретное о нашей системе было опубликовано в Интернете.База данных, которую он не может найти, является той же самой, которая вызывается в строке подключения – Donnachaidh

+1

Я попытался удалить подчеркивание, но я все равно получаю ту же ошибку. – Donnachaidh

+0

Попробуйте создать нового пользователя SQL, сопоставьте его с базой данных 'Test_MPITRACKER', включите SQL аутентификации и использовать его учетные данные в строке подключения. Чтобы убедиться, что доступ для этого пользователя в порядке, убедитесь, что вы можете входить в систему с этими учетными данными с помощью SQL Management Studio. Это может дать некоторые подсказки тому, что проблема. Также попробуйте удалить «Пользовательский экземпляр» из строки подключения, поскольку он кажется устаревшим (как указано в другом комментарии). –

Смежные вопросы