Показать сообщение отдельно
Старый 05.08.2010, 09:21   #1  
DesertBrowser is offline
DesertBrowser
Участник
 
55 / 10 (1) +
Регистрация: 04.08.2010
ADO Connection - по udl-файлу открывается, по строке из него - нет
Добрый день.
Подскажите пожалуйста, в чём может быть проблема.
Создаю udl-файл, указываю параметры подключения (в т.ч. аутентификаця на сервере БД - Windows). Копирую строку подключения из него в код X++. Однако вызов метода Connection.Open() выдаёт ошибку - SQL Server не существует, или отсутствует доступ. Пробую открыть ADOConnection из Excel с использованием той же строки подключения. Коннект открывается. Пробую открыть коннект из Аксапты, указав в строке подключения тот самый файл udl - коннект открывается!
PHP код:
    COM cnnDB;
    
str dbCnnString;
    ;
    
dbCnnString "File Name=test.udl;";//с этой строкой коннект открывается
    //dbCnnString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=ATest;Data Source=TESTSERVER";//а с этой - нет
    
cnnDB = new COM("ADODB.Connection");
    
cnnDB.connectionString(dbCnnString);
    
cnnDB.Open();//ошибка на этой строке 
PS.DAX v3.0 SP3, SQL Server 2000, ОС клиента WindowsXP; на клиентской машине установлены ADO v2.1 - 2.8

PPS. Предполагается часть тяжёлых аналитических запросов перенести на сервер БД в виде хранимых процедур. Вызываться они будут из Аксапты через ADO. Как лучше поступить с аутентификацией пользователей на сервере БД - всем давать Windows-аутентификацию и каждому задавать права? установить аутентификацию SQL Server и завести один логин и одного пользователя на все ADO-подключения? завести логины и пользователей, аналогичные пользователям Аксапты?открывать подключение с сервера приложений по имени пользователя, которое использует для подключения к БД AOS? Прошу поделиться опытом и советами, в Аксапте я новичок.