vs2010 tns
场景:VS2010连接Oracle11g报错 ORA-12560:TNS异常
VS2010连接Oracle11g报错 ORA-12560:TNS错误
如果你的答案跟下面的一样,就不用回答了。
ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台:运行“services.msc”,启动OracleOraDb11g_home1TNSListener服务。
2.database instance没有起起来。windows平台:运行“services.msc”,启动OracleServiceXXXX,XXXX就是你的OracleSID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1将该环境变量
ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统
变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在
command line下输set oracle_sid
如果同时安装了server和client, sqlplus开起来的时候应该用的可能是client目录下的
从HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\ORACLE_SID复制这个ORACLE_SID到KEY_OraClient11g_home1
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
在打了sqlplus后,要输入时,直接在用户名处输sys/密码 as sysdba即可
我还是一个新手,在这里向广大高手体问题,望勿见笑。
我用VS2010开发程序,要连接oracle11g的数据库,听说要安装客户端程序,于是我就到oracle的官网下载到了ODTwithODAC1120320_32bit这个东东,安装完后我遇到了下面这个问题 ,一直连不上数据库。
错误提示:
我是在VS2010中连接的。但是连不上。
我现在的状态:
操作系统:windows7(64位)
我已经安装了VStools
Oracle11g 服务器端:
1.安装在本机
2.安装位置:G:\Oracle\OracleSetup
3.64位版本
4.版本:R2
5.Sqlplus:可以登录,使用正常
6.监听服务:OracleOraDb11g_home1TNSListener 已启动
7.实例:OracleServiceORCL 已启动
Oracle11g客户端
1.安装在本机
2.安装位置:G:\Oracle
3.安装程序名称:ODTwithODAC1120320_32bit
4.32位版本
5.版本:ODAC 11.2 Release 5(oracle 官网下载)
我做的修改:
一.tnsnames.ora文件(注意,我只是修改了客户端目录下的tnsnames.ora)
位置在G:\Oracle\product\11.2.0\client_1\Network\Admin\Sample
修改字符串为
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT =1521 ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
二.系统环境变量
我在系统环境变量中添加了
Oracle_sid=orcl
我的疑问
1.我为了在VS2010开发与oralce11g相关的程序,要安装客户端么?
2.是不是客户端和服务器端装在同一个系统上会发生冲突?
3.服务器端是64位的,而客户端是32位的,有影响么?
4.如果不存在上面这些问题,那我还要做那些修改和配置才可以让VS2010连上oracle11g?
------最佳解决方案--------------------
监听出问题了,把原先的监听删除了,重新配一下!
------其他解决方案--------------------
oracle的官网下载到了ODTwithODAC1120320_32bit这个东东
===================================================
这个是 oracle 的访问控件,不是 oracle 的客户端。
------其他解决方案--------------------
没有人回答么
------其他解决方案--------------------
tnsnames配置有点问题
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT =1521 ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
这个要参考你的server所在主机listener.ora和服务器
------其他解决方案--------------------
我把我的服务器的listener.ora告诉你
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = G:\Oracle\OracleSetup\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:G:\Oracle\OracleSetup\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Linkliu-PC)(PORT = 1521))
)
ADR_BASE_LISTENER = G:\Oracle\OracleSetup
下面这个是server里面的tnsnames.ora
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
接下来我该怎么做
------其他解决方案--------------------
大牛们,都出来吧,不要再潜水了,这个问题我连续弄了3天了
------其他解决方案--------------------
你可以用PLSQL试下如果可以连接成功那就是你VS没有添加Oracle引用 。。。或者是你的监听文件地址和服务名写错了。
------其他解决方案--------------------
为什么不弄客户端和服务端版本一致呢。
最好先用ODBC 来测试下连接是否正常。
------其他解决方案--------------------
多谢各位的提醒,我的VS2010可以连接数据库了,客户端也可以连接服务器端了
下面的是SQLdeveloper连接数据库的截图
但是新的问题又出现了,
问题是这样的
客户端出现ORA-12560:TNS:协议适配器错误
真是一波未平一波起
问题描述:
我的oracle11g服务器端(64)和客户端(32)装在同一台电脑上。
安装完之后出现了如下目录(如图)
在这之中:
Oracle-OraClient1g_home1下的应用程序开发中有一个SQL plus
Oracle_OraDb11g_home1下的应用程序开发中也有一个SQL plus
我的疑问:
我开始用Oracle_OraDb11g_home1中的SQL plus登录,然后提示ORA-12560:TNS错误。
然后我就在系统的环境变量中的path中。把G:\Oracle\OracleSetup\product\11.2.0\dbhome_1\bin;这一条放在了最前面
然后就可以登录了,
但是此时问题来了
当我使用Oracle-OraClient1g_home1的SQL plus登录时,它又提示ORA-12560:TNS错误。
我不知道该怎么办了,你们有什么办法
VS2010连接Oracle11g报错 ORA-12560:TNS错误
如果你的答案跟下面的一样,就不用回答了。
ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台:运行“services.msc”,启动OracleOraDb11g_home1TNSListener服务。
2.database instance没有起起来。windows平台:运行“services.msc”,启动OracleServiceXXXX,XXXX就是你的OracleSID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1将该环境变量
ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统
变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在
command line下输set oracle_sid
如果同时安装了server和client, sqlplus开起来的时候应该用的可能是client目录下的
从HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\ORACLE_SID复制这个ORACLE_SID到KEY_OraClient11g_home1
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
在打了sqlplus后,要输入时,直接在用户名处输sys/密码 as sysdba即可
我还是一个新手,在这里向广大高手体问题,望勿见笑。
我用VS2010开发程序,要连接oracle11g的数据库,听说要安装客户端程序,于是我就到oracle的官网下载到了ODTwithODAC1120320_32bit这个东东,安装完后我遇到了下面这个问题 ,一直连不上数据库。
错误提示:
我是在VS2010中连接的。但是连不上。
我现在的状态:
操作系统:windows7(64位)
我已经安装了VStools
Oracle11g 服务器端:
1.安装在本机
2.安装位置:G:\Oracle\OracleSetup
3.64位版本
4.版本:R2
5.Sqlplus:可以登录,使用正常
6.监听服务:OracleOraDb11g_home1TNSListener 已启动
7.实例:OracleServiceORCL 已启动
Oracle11g客户端
1.安装在本机
2.安装位置:G:\Oracle
3.安装程序名称:ODTwithODAC1120320_32bit
4.32位版本
5.版本:ODAC 11.2 Release 5(oracle 官网下载)
我做的修改:
一.tnsnames.ora文件(注意,我只是修改了客户端目录下的tnsnames.ora)
位置在G:\Oracle\product\11.2.0\client_1\Network\Admin\Sample
修改字符串为
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT =1521 ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
二.系统环境变量
我在系统环境变量中添加了
Oracle_sid=orcl
我的疑问
1.我为了在VS2010开发与oralce11g相关的程序,要安装客户端么?
2.是不是客户端和服务器端装在同一个系统上会发生冲突?
3.服务器端是64位的,而客户端是32位的,有影响么?
4.如果不存在上面这些问题,那我还要做那些修改和配置才可以让VS2010连上oracle11g?
------最佳解决方案--------------------
监听出问题了,把原先的监听删除了,重新配一下!
------其他解决方案--------------------
oracle的官网下载到了ODTwithODAC1120320_32bit这个东东
===================================================
这个是 oracle 的访问控件,不是 oracle 的客户端。
------其他解决方案--------------------
没有人回答么
------其他解决方案--------------------
tnsnames配置有点问题
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT =1521 ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
这个要参考你的server所在主机listener.ora和服务器
------其他解决方案--------------------
我把我的服务器的listener.ora告诉你
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = G:\Oracle\OracleSetup\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:G:\Oracle\OracleSetup\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Linkliu-PC)(PORT = 1521))
)
ADR_BASE_LISTENER = G:\Oracle\OracleSetup
下面这个是server里面的tnsnames.ora
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
接下来我该怎么做
------其他解决方案--------------------
大牛们,都出来吧,不要再潜水了,这个问题我连续弄了3天了
------其他解决方案--------------------
你可以用PLSQL试下如果可以连接成功那就是你VS没有添加Oracle引用 。。。或者是你的监听文件地址和服务名写错了。
------其他解决方案--------------------
为什么不弄客户端和服务端版本一致呢。
最好先用ODBC 来测试下连接是否正常。
------其他解决方案--------------------
多谢各位的提醒,我的VS2010可以连接数据库了,客户端也可以连接服务器端了
下面的是SQLdeveloper连接数据库的截图
但是新的问题又出现了,
问题是这样的
客户端出现ORA-12560:TNS:协议适配器错误
真是一波未平一波起
问题描述:
我的oracle11g服务器端(64)和客户端(32)装在同一台电脑上。
安装完之后出现了如下目录(如图)
在这之中:
Oracle-OraClient1g_home1下的应用程序开发中有一个SQL plus
Oracle_OraDb11g_home1下的应用程序开发中也有一个SQL plus
我的疑问:
我开始用Oracle_OraDb11g_home1中的SQL plus登录,然后提示ORA-12560:TNS错误。
然后我就在系统的环境变量中的path中。把G:\Oracle\OracleSetup\product\11.2.0\dbhome_1\bin;这一条放在了最前面
然后就可以登录了,
但是此时问题来了
当我使用Oracle-OraClient1g_home1的SQL plus登录时,它又提示ORA-12560:TNS错误。
我不知道该怎么办了,你们有什么办法