powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Соединение с MSSQL SERVER 2000 через ODBC
6 сообщений из 6, страница 1 из 1
Соединение с MSSQL SERVER 2000 через ODBC
    #39267721
смищно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, пытаюсь соединиться с сервером mssql 2000 через дблинк из оракла. При соединении получаю ошибку:

Версия сервера оракл: 11g 64bit
Версия скл сервера виндовс: sqlserver 2000 32bit

Режим аутентификации:mixed (судя по настройкам и цифре "2" в реесте, в "LoginMode")

ORA-01017: неверно имя пользователя/пароль; вход в систему запрещается
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'bdd'. Reason: Not associated with a trusted SQL Server connection. {28000,NativeErr = 18452}
ORA-02063: предшествующий 2 lines из SS



Что я делал:

1) Создал системный DSN источник c помощью 32 битного администратора источников данных ODBC. В нем указал проверку подлинности учетной записи SQL SERVER, поставил галку "Получить параметры, используемые по умолчанию", ввел логин/пароль пользователя бд, выбрал бд из выпадающео списка, протестировал соединение. Тест сказал мне, что он успешно завершен.

2) В папке /oracle_home/hs/admin создал файл initmssql.ora c содержимым:

Код: sql
1.
2.
HS_FDS_CONNECT_INFO = sqlserver
HS_FDS_TRACE_LEVEL = 0



Где sqlserver - имя системного DSN источника

3) В папке /oracle_home/network/admin изменил listener.ora:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
# listener.ora Network Configuration File: E:\app\userISS\product\11.2.0\dbhome_2\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
 (SID_LIST = 
   (SID_DESC = 
     (SID_NAME = mssql)
     (ORACLE_HOME=dbhome)
     (PROGRAM=dg4odbc)
   )
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME =dbhome)
      (PROGRAM = extproc)
    )
 )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = E:\app\user



4) Перезапустил листенер, с помощью тнс пинга убедился, что mssql слушается.

5) В папке /oracle_home/network/admin изменил tnsnames.ora:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.host.ru)
    )
  )

MS =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = mssql)
    )
  (HS = OK)
  )



Содержимое sqlnet.ora

Код: sql
1.
2.
SQLNET.AUTHENTICATION_SERVICES= (NONE)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)



6) Создаю дблинк командой:

Код: plsql
1.
create shared public database link mssql connect to bdd identified by bdd using 'ms';



7) Делаю запрос:

Код: plsql
1.
select * from dual@mssql.host.ru



Получаю ошибку:



ORA-01017: неверно имя пользователя/пароль; вход в систему запрещается
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'bdd'. Reason: Not associated with a trusted SQL Server connection. {28000,NativeErr = 18452}
ORA-02063: предшествующий 2 lines из MSSQL



Что я делаю неправильно?
...
Рейтинг: 0 / 0
Соединение с MSSQL SERVER 2000 через ODBC
    #39267793
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настраивай соединение на MS
179126
Какой account используется для запуска службы OracleServiceXXX?
Нужно дать необходимые права, либо запустить службу под доменной учетной записью с необходимыми правами, но этой учетной записи, нужно также дать членство в группах
ORA_DBA
...
Рейтинг: 0 / 0
Соединение с MSSQL SERVER 2000 через ODBC
    #39267903
смищно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim LejninНастраивай соединение на MS
Какой account используется для запуска службы OracleServiceXXX?
ORA_DBA

Служба запускается от локальной системы. Трассировка на MSSQL сервере показала, что в NTUserName отправляется неправильное имя учетной записи виндовс, (всегда : ||||| вместо, например, user, admin). Есть подозрения, что оракл пытается соединяться под учеткой гостя, которая отключена на сервере с MS SQL.
Нужно запускать службу от имени конкретного пользователя винды?
...
Рейтинг: 0 / 0
Соединение с MSSQL SERVER 2000 через ODBC
    #39267906
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смищно,

можно
Смотри свойства службы oracleserviceXXX
где XXX - имя твоей базы
...
Рейтинг: 0 / 0
Соединение с MSSQL SERVER 2000 через ODBC
    #39267910
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще:

для этой учетной записи лучше не используй национальные символы
заведи например учетку oracle
...
Рейтинг: 0 / 0
Соединение с MSSQL SERVER 2000 через ODBC
    #39268438
смищно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin, спасибо, проблема полностью решилась с помощью запуска служб оракла от имени определенной учетной записи.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Соединение с MSSQL SERVER 2000 через ODBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]