Чисто технически, используемый синтаксис, с точки зрения MS SQL предполагает, что [TMKGSU1] - это Linked - сервер. Т.е. это сервер, особым образом "прилинкованный" к данному. О чем и идет дальнейшее сообщение с предложением использовать процедуру sp_addlinkedserver для "линкования" этого сервера.
Можно прилинковать сервер через Enetrprise Manager \ Security \ Linked Server
Используемое в запросе имя [TMKGSU1] - это не имя самого сервера, а имя, под которым нужный сервер (нужная база данных) "прилинкована" к данному серверу.
Однако можно использовать и другой способ доступа к серверу.
Объект Connection предполагает установку прямого соединения с "родным" сервером. Но кроме этого, есть еще объект OdbcConnection, который устанавливает соединение с любым сервером.
Код:
// Метод класса Global
/*
Коннект надо настраивать ОБЯЗАТЕЛЬНО на стороне сервера
Дело в том, что подключение со стороны сервера установлено с админ-правами,
а со строны клиента - с пользовательскими правами
Т.е. попытка установить подобное соединение со стороны клиента окончится неудачей
*/
static server OdbcConnection createOdbcConnection()
{
OdbcConnection connectStat;
LoginProperty lp = new LoginProperty();
;
// Устанавливаю реквизиты доверительного соединения
lp.setOther("DRIVER=SQL Server;SERVER=TMKGSU1;DataBase=Ax_test1;Trusted_Connection=Yes");
connectStat = new OdbcConnection(LP);
return connectStat;
}
// Собственно обращение к серверу
OdbcConnection odbcConnection = createOdbcConnection();
Statement odbcStmt = odbcConnection.createStatement();
ResultSet R;
R = odbcStmt.executeQuery("Select * from [VendGroup]");
Но все это чисто техническая сторона дела, если ты твердо намерен использовать именно прямое обращение к SQL-серверу.
Возможно, есть другие способы прямого общения серверов AXAPTA. Я просто не в курсе.