У меня 2 ноутбука (A и B) в одной локальной сети (Wi-Fi).
Я установил базу данных Oracle 12c r2 на ноутбук A.
На ноутбуке A я создал приложение VB.NET с Visual Studio 2017, которое может подключаться к базе данных Oracle.
Приложение отлично работает на ноутбуке A. Оно подключается к базе данных, и это моя форма приложения, и строка подключения, которую я использую (192.168.20.98 - это IP-адрес моего ноутбука):
oracle_connection = New OracleConnection(
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=" & protocol.Text &
")(HOST=" & host.Text & ")(PORT=" & port.Text &
")))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" & db_name.Text &
")));User Id=" & user_id.Text & ";Password=" & pswd.Text)
Я также отредактировал свои listener.ora
и tnsnames.ora
, расположенные в C:\app\mustafa\product\12.2.0\dbhome_1\network\admin
, следующим образом:
listener.ora
:
# listener.ora Network Configuration File:
C:\app\mustafa\product\12.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\mustafa\product\12.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS =
"EXTPROC_DLLS=ONLY:C:\app\mustafa\product\12.2.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.98)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
tnsnames.ora
:
# tnsnames.ora Network Configuration File:
C:\app\mustafa\product\12.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
DB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.98)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db1)
)
)
LISTENER_DB1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.98)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
Я отредактировал разрешение моей домашней папки Oracle, чтобы предоставить authenticated users
полный доступ.
Поэтому, когда я перемещаю свое приложение на ноутбук B и запускаю его для подключения к базе данных на ноутбуке A, я получил эту ошибку:
System.Data.OracleClient требует клиентского программного обеспечения Oracle версии 8.1.7 или выше.
Я не могу найти решения. Требуется ли также, чтобы на моем ноутбуке B была установлена база данных Oracle 12c r2?
ping 192.168.20.98
и сообщите нам, каков был результат. - person Pedro Gaspar   schedule 11.11.2018