我得到了
ERROR:
ORA-12560: TNS:protocol adapter error试图以SYSDBA身份登录时出现适配器错误。我做了一些研究,发现首先在Windows中没有任何OracleJobSchedulerdb12gr1;OracleServicedb12gr1。e.t.c.
所以我把它们加起来,然后开始:
C:\Windows\system32>oradim -new -sid db12gr1所以我也开始了一个听众:
C:\Windows\system32>lsnrctl start在那之后,当我检查我得到的状态:
C:\Windows\system32>lsnrctl status
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "XE" has 1 instance(s).
Instance "XE", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully不确定UNKNOWN是否是问题所在,我从listener.ora中删除了所有其他SID_LIST_LISTENER,LISTENER看起来如下(在listener.ora中):
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)此外,我还将ORACLE_HOME设置为env,并将其添加到bin文件夹的路径中,以便能够访问sqlplus。在我尝试作为sysdba登录之前,定义ORACLE_SID (set ORACLE_SID=localhost)没有任何区别。而且,我只能从命令提示符启动服务和启动监听器,当然,在那些仍然不能sqlplus / as sysdba的地方,可以作为管理员打开。
tnsnames.ora:
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)我真的没什么主意了。有人知道这会花多少钱吗?
PS: OS: Windows 10;Oracle : 12c
发布于 2017-06-20 20:03:21
您必须将ORACLE_SID环境变量设置为正确的值:设置ORACLE_SID=db12gr1并确保实例服务正确启动。
发布于 2019-10-12 02:18:56
让我们这样做:
如果要使用MS在.net框架上进行连接,应该下载、解压缩和安装ODTwithODAC183.zip和.net。
https://stackoverflow.com/questions/44654221
复制相似问题