我在同一个本地网络 (Wi-Fi) 上有 2 台笔记本电脑(A 和 B)。
我在笔记本电脑 A 上安装了 Oracle 数据库 12c r2。
在笔记本电脑中,AI 使用 Visual Studio 2017 创建了一个可以连接到 Oracle 数据库的 VB.NET 应用程序。
该应用程序在笔记本电脑 A 上运行良好。它连接到数据库,这是我的应用程序表单,我使用的连接字符串(192.168.20.98 是我的笔记本电脑 A 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 并运行它以连接到笔记本电脑上的数据库时,AI 出现了这个错误:
System.Data.OracleClient 需要 Oracle 客户端软件版本 8.1.7 或更高版本。
我找不到任何解决方案。是否也需要在我的笔记本电脑 B 上安装 Oracle 数据库 12c r2?