Припустимо, у мене є база даних Oracle. У мене є ім'я користувача = x, пароль = y, база даних = z. Також я знаю порт = a, SID = b, ім'я хоста = c.
Так як же мені правильно підключитися? Я використовував багато варіантів, таких як:
sqlplus x/y@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=z)(SERVER=DEDICATED)))'
sqlplus (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=c)(PORT=a))(CONNECT_DATA=(SID=b)))
Надсилання цих командних рядків зазвичай повертає мені повідомлення про помилки на кшталт:
ORA-12560: Помилка адаптера протоколу TNS:br>; ORA-12514: TNS:слухач наразі не знає про обслуговування
Заздалегідь велике спасибі!!!
Ти намагався
sqlplus username/password@host:port/service
sqlplus x/y@c:a/b
сучасні версії sqlplus (версія 11 або новіша) розуміють цей синтаксис і вам не потрібен файл tnsnames.ora.
Найпростішим є використання файлу tnsnames.ora для підключення до бази даних. Для цього відредагуйте його та додайте новий запис: Цей файл зазвичай знаходиться в каталозі $ORACLE HOME\NETWORK\ADMIN.
myDb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = c)(Port =a))
)
(CONNECT_DATA =
(SERVICE_NAME =b)
)
)
і тоді ви зможете підключитися до бази даних:
sqlplus x/y@myDb
Можливо, у вас не працює база даних. Якщо машина була перезавантажена, а екземпляр не налаштований на автозапуск (і не запускався вручну), можливо, вам доведеться запустити службу самостійно.
Якщо у вас є доступ до екрану "Служби", ви можете зробити це звідти; або ви можете зробити це з командного рядка.
Перейдіть до Командного рядка і введіть наступні команди:
set oracle_sid=ORCL
net start oracleserviceORCL
Перша встановлює ідентифікатор Oracle SID; друга фактично запускає службу.