У меня есть проблемы при создании соединения с источником данных ODBC в для SQL-сервера на Windows 7.MS SQL-Server: не может ODBC-подключение в Windows 7?
Резюме Проблемы: подключение источника данных ODBC может быть создано для базы данных «мастера», а не для дополнительных, произвольной базы данных.
Я googled вокруг сети и не нашел решения. Вот подробности:
- У меня есть MS SQL Server, установленный в 64-разрядной системе Windows 7. Подробности: Издание SQLEXPRESS, версия: 10.1.2531.0, сборка: 2007.100.2531.0, Идентификатор экземпляра: MSSQL10.SQLEXPRESS.
С помощью программы «Диспетчер конфигурации SQL Server», он говорит, что:
SQL Server(SQLEXPRESS) runningЯ также установить: «Вход в систему как: встроенная учетная запись -> Локальная система».
Использование "Microsoft SQL Server Management Studio" (версия 10.0.1600.22) Я подключился к базе данных, с пустым именем пользователя и паролем. Затем я создал новую базу данных под названием «Test1» и направил созданный файл на «F: \ Data \ SQL Server \ Test1.sdf». Я продолжил создание нескольких (тривиальных) таблиц, заполнил пару строк и успешно выполнил несколько запросов - все это с помощью «Microsoft SQL Server Management Studio». Все идет нормально.
Но, мне нужно подключиться к базе данных из внешней программы, используя соединение ODBC. Итак, используя «ODBC Data Source Administrator» (\% sysdir% \ SysWOW64 \ odbcad32.exe версия 6.1.7600.16385) (64 бит), я пытаюсь создать интерфейс источника данных. Вот мои впечатления: (я называю dsn: «SYS_DB»):
3a. При переходе «System DNS» -> Add-> «SQL Native Client 10.0»; (для водителя); Сервер: PLUTO \ SQLEXPRESS; «С интегрированной проверкой подлинности Windows»; (все остальные опции: по умолчанию), когда я нажимаю: «Test Data Source», он говорит:
... ... Address PLUTO\SQLEXPRESS' was used to establish the connection. ... TESTS COMPLETED SUCCESSFULLY!(PLUTO - это имя компьютера).
3b. Проблема в том, что мне нужно подключиться к базе данных «Test1», а не к базе данных «master» по умолчанию.
Итак, в третьем окне в окне «Администратор источника данных ODBC», когда я иду: -> Измените базу данных по умолчанию на: Test1, я получаю окно с сообщением:
The database entered is not validЕсли я заберу одно окно и сниму отметку : «Подключитесь к SQL Server, чтобы получить настройки для дополнительных параметров конфигурации», а затем я проверяю: «Прикрепить имя файла базы данных»: F: \ Data \ SQL Server \ Test1.sdf (как я уже упоминал выше в пункте 2), источник данных испытание не выполнено:
Attempting connection [Microsoft][SQL Server Native Client 10.0][SQL Server] The header for file 'F:\Data\SQL Server\Test1.sdf' is not a valid database file header. The FILE SIZE property is incorrect.3c. При попытке установить драйвер: «System DNS» -> Add-> «SQL Server»; (вместо «SQL Native Client 10.0», как в пункте 3а выше), поведение идентично: успех при подключении к базе данных «master» по умолчанию и отказ при попытке подключиться к базе данных «Test1» с тем же сообщением об ошибке, что и в 3b. выше.
- Примечания: когда я иду: «Sqlcmd -L», он говорит:
Servers: PLUTO PLUTO\SQLEXPRESS
Я гугл по всей сети и не нашел решение. Ваша помощь будет оценена по достоинству.
Многие ТИА - Хелен
Дополнительная информация (3-16): когда я иду:
>sqlcmd -S pluto\sqlexpress -Q "select getdate()" 2013-03-16 10:07:04.380 (1 rows affected)так связь с по умолчанию ("мастер") база данных работает отлично.
Но когда я иду:
>sqlcmd -S pluto\sqlexpress -d Test1 -Q "select getdate()"
Msg 4060, Level 11, State 1, Server PLUTO\SQLEXPRESS, Line 1
Cannot open database "Test1" requested by the login. The login failed.
Msg 18456, Level 14, State 1, Server PLUTO\SQLEXPRESS, Line 1
Login failed for user 'PLUTO\MyUser'.
Таким образом, кажется, что проблема с пользовательскими привилегиями/правами доступа к новой базе данных на этом сервере, а именно: «Test1».
Может ли кто-нибудь помочь в том, как проверять/назначать разрешения для конкретной базы данных на SQL Server?
Многие ТИА
Helen
см. [Это] (http://support.dataaccess.com/Forums/entry.php?126-I-Cannot-Connect-To-An-ODBC-Database) и [это] (http: // support.microsoft.com/kb/942976). Я думаю, ваша проблема незначительна. – omid
@omid: это не вопрос 32 бит против 64 бит. Потому что: 1. Менеджер ODBC, который я использую, - 64 бит; 2. Как я упоминал в пункте 3a моего OP, проверка соединения ODBC Manager отлично работает, когда я подключаюсь к «основной» базе данных dsn (он говорит: «ИСПЫТАНИЯ ЗАВЕРШЕНЫ УСПЕШНО!»). Проблема возникает при попытке подключиться к другой базе данных («Test1») на том же SQL-сервере. –