13.04.2011, 10:05 | #1 |
Участник
|
Ещё раз об импорте SQL в Аксапту
Несмотря на некоторый прогресс после 07.04.2011, не могу решить элементарную проблему безопасности, чтобы установить соединение с SQL из Аксапты. Конкретно: имеется компьютер А с клиентом Аксапты 3.0 и компьютер Б, на котором установлен SQL Server 2005 и имеется некая база данных X_DB, откуда нужно читать информацию. Компьтер Б мне доступен, я знаю его IP адрес 1.1.1.1 (условно). Запустив на нём Management Studio, я сделал процедуру присоединения и создал базу данных X_DB1. Теперь в Аксапте я использую ADO коннектор для соединения следующим образом:
Цитата:
static void Test(Args _args)
{ CCADOConnection conn = new CCADOConnection(); str connectStr = "Provider=SQLOLEDB.1; Integrated Security=SSPI; Persist Security Info=False; Initial Catalog=X_DB1; Data Source=1.1.1.1"; ; try { conn.open(connectStr); } } Метод 'open' в COM-объекте класса 'ADODB.Connection' возвратил код ошибки 0x80004005 (E_FAIL), который означает: [DBNETLIB][ConnectionOpen (Connect()).]SQL-сервер не существует, или отсутствует доступ. Как решить эту проблему? |
|
13.04.2011, 15:47 | #2 |
Участник
|
Добавьте в конец строки ";uid=Петя;pwd=Пароль"
У меня строка подключения выглядит так: "Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=DatabaseName;uid=Петя;pwd=Пароль"; И еще, я никогда не пробовал обращаться к SQL-серверу через IP-адрес. Лучше наверное обращаться к нему по имени сервера, которое отображается в MS SQL Server Management Studio в окне "Object Explorer" Последний раз редактировалось Ace of Database; 13.04.2011 в 15:57. |
|
13.04.2011, 16:04 | #3 |
Участник
|
У автора в строке подключения указано "Integrated Security=SSPI" - я так понимаю это автоидентификация.
А насчет IP - SQL2005 установлен без выделенного имени? Т.е. когда подключаетесь через Studio - открываете сервер 1.1.1.1 или 1.1.1.1\ServerName? Если второй вариант - то нужно и в строке явно указать имя сервера.
__________________
Ivanhoe as is.. |
|
13.04.2011, 16:15 | #4 |
Участник
|
Цитата:
Сообщение от Ivanhoe
У автора в строке подключения указано "Integrated Security=SSPI" - я так понимаю это автоидентификация.
А насчет IP - SQL2005 установлен без выделенного имени? Т.е. когда подключаетесь через Studio - открываете сервер 1.1.1.1 или 1.1.1.1\ServerName? Если второй вариант - то нужно и в строке явно указать имя сервера. |
|
13.04.2011, 16:32 | #5 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: Yaroslav (1). |
13.04.2011, 16:51 | #6 |
Участник
|
Судя по Вашей ссылке, я пытаюсь воспользоваться вариантом "Trusted Connection", т.е. вроде всё правильно, но соединения не получается. Мои входные данные таковы: я имею IP-адрес сервера, выделенное имя NameSQL2005 и имя базы данных X_DB1. Как всё это правильно скомпоновать? Может, что-то ещё нужно сделать через Studio?
|
|
13.04.2011, 17:20 | #7 |
Участник
|
А если имя БД убрать в квадратные скобки ?
|
|
14.04.2011, 10:22 | #8 |
Участник
|
Цитата:
Если сервер размещен в другом домене, то вам по-любому нужно в строке явно указать реквизиты. Для тестирования доступа попробуйте запускать Management Studio на локальном компьютере и удаленно подключаться к серверу или настроить источник данных ODBC на локальном компьютере и проверьте его работу с помощью встроенной проверки. |
|
14.04.2011, 11:10 | #9 |
Участник
|
Цитата:
Цитата:
Для тестирования доступа попробуйте запускать Management Studio на локальном компьютере и удаленно подключаться к серверу или настроить источник данных ODBC на локальном компьютере и проверьте его работу с помощью встроенной проверки.
|
|
14.04.2011, 11:45 | #10 |
Участник
|
Цитата:
Сообщение от zla
Я не понял Ваш вопрос. Для подключения к УРС я использую IP-адрес, логин и пароль, понятие домен я не использую, хотя знаю, что у нашей сети минимум 2 домена. Как устроена наша сеть я в деталях не знаю, знаю только, что есть домены, разнесённые физически на десятки километров и соединённые линией связи друг с другом. При коннекте я пытаюсь использовать те же IP-адрес, логин и пароль, но пока ничего не получается.
. Попробуйте перед запуском Аксапты выполниить в командной строке команду: net use \\1.1.1.1\ipc$ ПАРОЛЬ /user:ДОМЕН\ПОЛЬЗОВАТЕЛЬ , где ПОЛЬЗОВАТЕЛЬ и ПАРОЛЬ - это те данные, которые Вы используете для подключения к УРС. Если при этом Вы домен не указываете, то команда будет выглядеть так: net use \\1.1.1.1\ipc$ ПАРОЛЬ /user:ПОЛЬЗОВАТЕЛЬ И еще - если у Вас SQL сервер установлен не как инстанс по умолчанию, то в стркое подключения к нему надо это указать, выше в сообщении Alexius была приведена ссылка на то, как это сделать. |
|
15.04.2011, 09:46 | #11 |
Участник
|
Цитата:
На всякий случай, ссылка на описание настройки источника данных: http://pashelp.narod.ru/index.html?systemdsn.html |
|