用C#链接Oracle Database总是出错(ORA-12154: TNS: 无法解析指定的连接标识符) c#连接oracle报的错误 ORA-12154: TNS:...

\u5982\u4f55\u89e3\u51b3ORA-12154 \u201cTNS\uff1a\u65e0\u6cd5\u89e3\u6790\u6307\u5b9a\u7684\u8fde\u63a5\u6807\u8bc6\u7b26\u201d\u8fd9\u4e2a\u95ee\u9898\uff1f

1\u3001\u68c0\u67e5\u670d\u52a1
\u51fa\u73b0\u8fd9\u79cd\u95ee\u9898\uff0c\u9996\u5148\u6211\u4eec\u60f3\u5230\u7684\u662f\u68c0\u67e5\u670d\u52a1\u6709\u6ca1\u6709\u95ee\u9898OracleOraDb11g_home2TNSListener\u3002\u5728\u8fd0\u884c\u4e2d\u8f93\u5165services.msc\uff0c\u6253\u5f00\u670d\u52a1\u7a97\u53e3\uff0c\u770b\u770bOracleOraDb11g_homeTNSListener\u8fd9\u4e2a\u670d\u52a1\u662f\u5426\u6b63\u5728\u8fd0\u884c\uff0c\u5982\u679c\u6ca1\u6709\u8fd0\u884c\uff0c\u5219\u542f\u52a8\u3002
2\u3001\u4f7f\u7528SQL PLUS\u6d4b\u8bd5\u8fde\u63a5\u3002
\u5982\u679c\u8fd8\u6709\u95ee\u9898\uff0c\u6211\u4eec\u4f7f\u7528SQL PLUS\u6d4b\u8bd5\u662f\u5426\u80fd\u591f\u8fde\u63a5\u3002\u8fd0\u884c\u8f93\u5165cmd,\u5728\u547d\u4ee4\u63d0\u793a\u7b26\u7a97\u53e3\u4e2d\u8f93\u5165sqlplus sys/\u5bc6\u7801@\u6570\u636e\u5e93SID as sysdba\u5982\uff1a

3\u3001\u68c0\u67e5tnsnames.ora\u914d\u7f6e
\u5728\u5ba2\u6237\u7aef\u7684\u5b89\u88c5\u8def\u5f84\u4e0b\uff0c\u6211\u7684\u662fD:\oracle\instantclient_12_1\NETWORK\ADMIN\uff0c\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\uff0c\u540d\u4e3a\uff1atnsnames.ora\uff0c\u5982\u679c\u4e4b\u524d\u521b\u5efa\u8fc7\u4e86\uff0c\u5219\u76f4\u63a5\u6253\u5f00\u4f4f\u91cc\u8ffd\u52a0\u5c31\u884c\u4e86\u3002\u5728tnsnames.ora\u4e2d\u8ffd\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a
SID\u540d =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = SID\u540d))
\u6ce8\u610fSID\u540d\u524d\u9762\u4e0d\u80fd\u6709\u4efb\u4f55\u5176\u4ed6\u5b57\u7b26\uff0c\u5c24\u5176\u662f\u7a7a\u683c\uff01
\u4fdd\u5b58\u540e\uff0c\u770b\u770b\u80fd\u4e0d\u80fd\u767b\u5f55\u3002\u5982\u679c\u8fd8\u4e0d\u884c\uff0c\u5728pl/sql developer\u7684\u767b\u5f55\u7a97\u53e3\u4e2d\u70b9\u201c\u53d6\u6d88\u201d\u6309\u94ae\uff0c\u8fdb\u5165pl/sql developer\u540e\uff0c\u6267\u884c\u201c\u5de5\u5177\u201d-> \u201c\u9996\u9009\u9879\u201d -> \u8fde\u63a5\uff0c\u6309\u4e0b\u56fe\u6240\u793a\u8fdb\u884c\u914d\u7f6e\uff08\u5176\u4e2doracle\u4e3b\u76ee\u5f55\u5c31\u662foracle\u5ba2\u6237\u7aef\u7684\u8def\u5f84\uff09\u3002

\u5b89\u88c5\u597d\u4e86oracle\u5ba2\u6237\u7aef\u4ee5\u540e \u8fde\u63a5\u5b57\u7b26\u4e32\u7528
CnnString=Provider=MSDAORA.1;Password={0};User ID={1};Data Source={2};Persist Security Info=True \u518d\u8bd5\u8bd5
\u81ea\u5df1\u586b\u5199\u6570\u636e\u5e93\u5b9e\u4f8b\u7684\u4fe1\u606f

你的问题主要是找不到服务器。
你的监听文件监听的是你的ip地址,你有两个选择,要么把监听程序改为你的本机地址localhost或127.0.0.1 (建议你用这个,因为如果你监听的是ip的话,你拔掉网线,你的Oracle会出问题的)如果这么做的话,还要在lisnter.ora文件中把相应的地址改为你的本机地址。这时候再运行你的程序就应该没问题了。
如果你不想改这里,那你在程序里这样写应该可以DataSource=(ADDRESS=(PROTOCOL=TCP)(HOST=ipadress)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl))
不过这是就相当于是远程连接了

按你的描述,DataSource后面就是跟这个ORCL
你的连接字符串是没有问题的

你在C#这台机器上用SqlPlus连接一下ORCL,看能不能连上?
或者装一个PLSQL,连接一下ORCL,如果能连接上,那C#也应该能连上

如果连不上,那就要先配置好Oracle

string connectionString ="Data Source=orcl;user=HR;password=xxxxx"

  • 涓轰粈涔堣鐢ㄥ瓧姣峜琛ㄧず鍛ㄩ暱?杩樻湁,涓轰粈涔堣鐢ㄥ瓧姣峴琛ㄧず闈㈢Н?璇风粰鎴戜竴涓...
    绛旓細C灏辨槸鑻辨枃瀛楁瘝Circumference鐨勭缉鍐欙紝S灏辨槸鑻辨枃瀛楁瘝Square鐨勭缉鍐欙紝杩欎簺瀛楁瘝澶у鏄湁杩欐牱鐨勬潵鐨勩傚杈瑰舰鐨勫懆闀跨殑闀垮害涔熺浉绛変簬鍥惧舰鎵鏈夎竟鐨勫拰锛屽渾鐨勫懆闀=蟺d=2蟺r 锛坉涓虹洿寰勶紝r涓哄崐寰勶紝蟺锛夛紝鎵囧舰鐨勫懆闀 = 2R+n蟺R梅180˚锛坣=鍦嗗績瑙掕搴︼級= 2R+kR 锛坘=寮у害锛夈傚渾锛欳=蟺d=2蟺r锛坉涓虹洿...
  • C璇█涓昏鐢ㄥ湪鍝簺鏂归潰?
    绛旓細锛1锛夊簲鐢ㄨ蒋浠躲侺inux鎿嶄綔绯荤粺涓殑搴旂敤杞欢閮芥槸浣跨敤C璇█缂栧啓鐨勶紝鍥犳杩欐牱鐨勫簲鐢ㄨ蒋浠跺畨鍏ㄦч潪甯搁珮銆傦紙2锛夊鎬ц兘瑕佹眰涓ユ牸鐨勯鍩熴備竴鑸鎬ц兘鏈変弗鏍艰姹傜殑鍦版柟閮芥槸鐢–璇█缂栧啓鐨勶紝姣斿缃戠粶绋嬪簭鐨勫簳灞傚拰缃戠粶鏈嶅姟鍣ㄧ搴曞眰銆佸湴鍥炬煡璇㈢瓑銆傦紙3锛夌郴缁熻蒋浠跺拰鍥惧舰澶勭悊銆侰璇█鍏锋湁寰堝己鐨勭粯鍥捐兘鍔涘拰鍙Щ妞嶆э紝骞朵笖鍏峰...
  • 璁$畻鏈篊璇█鏈変粈涔堢敤鍟??
    绛旓細1銆C璇█鏄珮绾ц瑷銆傚畠鎶婇珮绾ц瑷鐨勫熀鏈粨鏋勫拰璇彞涓庝綆绾ц瑷鐨勫疄鐢ㄦх粨鍚堣捣鏉ャ侰 璇█鍙互鍍忔眹缂栬瑷涓鏍峰浣嶃佸瓧鑺傚拰鍦板潃杩涜鎿嶄綔锛岃岃繖涓夎呮槸璁$畻鏈烘渶鍩烘湰鐨勫伐浣滃崟鍏冦2銆丆璇█鏄粨鏋勫紡璇█銆傜粨鏋勫紡璇█鐨勬樉钁楃壒鐐规槸浠g爜鍙婃暟鎹殑鍒嗛殧鍖栵紝鍗崇▼搴忕殑鍚勪釜閮ㄥ垎闄や簡蹇呰鐨勪俊鎭氦娴佸褰兼鐙珛銆傝繖绉嶇粨鏋勫寲鏂瑰紡...
  • c璇█鏈変粈涔堢敤
    绛旓細鈥滈」鐩┍鍔ㄥ紡鈥濇暀瀛﹀氨鏄互椤圭洰涓虹洰鐨,浠璇█鐞嗚鏁欏涓鸿繃绋,鏈缁堣兘鐢╟璇█璁捐椤圭洰,瀹炵幇椤圭洰鐨勮姹傘傗滈」鐩┍鍔ㄥ紡鈥濇暀瀛︾殑鍏抽敭鍦ㄤ簬鍩瑰吇瀛︾敓鈥滃浣曞仛浠涔堚濆拰鈥滃彲浠ュ共浠涔堚濄備竴涓」鐩氨鏄竴涓伐绋,鍦ㄢ滈」鐩┍鍔ㄥ紡鈥濇暀瀛︿腑,棣栧厛搴旇璁╁鐢熺畝鍗曚簡瑙d粈涔堟槸杞欢宸ョ▼鎬濇兂,鍏舵鍦╟璇█鐞嗚鏁欏杩囩▼涓,璁╁鐢熸噦寰楅潰鍚戝璞$殑...
  • 瀛︿範C璇█鏈変粈涔堢敤?
    绛旓細鈥濇鍠滅殑鏄紝C璇█鍔熻兘闈炲父寮哄ぇ銆佸簲鐢ㄥ箍娉涳紝涓鏃︽帉鎻′簡鍚庯紝鍐嶈嚜瀛﹀叾浠栬瑷灏辨樉寰楄交鑰屾槗涓句簡銆傚咖铏戠殑鏄紝C璇█鐘瑰鈥滃皯鏋楁鍔熲濅竴鑸崥澶х簿娣憋紝澶毦瀛︿簡銆傚叾瀹炲氨绗旇呰涓篊璇█骞堕潪鏄渄ifficult锛堝洶闅撅級鈥濈殑锛屽彧瑕佷綘鑳界悊娓呮濊矾锛屾帉鎻″畠鐨勭簿楂擄紝閭d箞鑷C璇█鏄竴浠堕潪甯稿鏄撲笖鍙堝叾涔愭棤绌风殑浜嬨備粖澶╂湰浜哄氨涓...
  • c璇█涓殑璇█鍙互鍦╟++涓敤鍚
    绛旓細鍙互鐨勩俢++鏄悜涓嬪C璇█鍏煎鐨勩侰璇█涓墍鏈夌殑鐗规ф垨鍑芥暟杩樻湁鎿嶄綔绗﹂兘鍙湪C++涓笉缁忚繃淇敼鐩存帴浣跨敤銆備笉鍚岀殑鏄紝C++鐨勬爣鍑嗗嚱鏁板簱锛圫TL锛夊彲鑳芥彁渚涗簡鏇村ソ鐨勫疄鐜版柟寮忋傛ゼ涓诲彲浠ュぇ鑳嗗湪C++涓浣跨敤C鐨勫嚱鏁帮紝涓嶇敤鎷呭績鐨勩
  • C璇█杩欎箞鍘夊,瀹冭嚜韬張鏄敤浠涔堣瑷鍐欑殑?缂栧啓杩囩▼琚О涓鸿嚜涓
    绛旓細OK锛 杩欎箞涓灞傚眰涓婃潵锛岀粓浜庡緱鍒颁簡涓涓鐢–璇█鍐欑殑缂栬瘧鍣紝 鐪熸槸澶熼夯鐑︾殑銆傚埌杩欎釜鏃跺欙紝涔嬪墠閭d釜姹囩紪鍐欑殑C璇█缂栬瘧鍣ㄥ氨鍙互鎶涘純浜嗐傚綋鐒讹紝濡傛灉鍦–璇█涔嬪墠锛屽凡缁忓嚭鐜颁簡鍒殑楂樼骇璇█锛屼緥濡侾ascal锛岄偅灏卞彲浠ョ敤Pascal鏉ュ啓涓涓狢璇█鐨勭紪璇戝櫒銆傜涓涓狿ascal鐨勭紪璇戝櫒鎹浣跨敤Fortran鍐欑殑銆傝屼綔涓虹涓涓珮绾...
  • 濡備綍鐢ㄢ淐璇█鈥濆疄鐜扳滈夐」鏈夊姛鑳界殑鏂囨湰鑿滃崟鈥?
    绛旓細1銆佺洿鎺ョ敤杈撳嚭鍗冲彲瀹炵幇銆2銆佷緥绋嬶細include<stdio.h>#include <stdlib.h>void hello(){ printf("hello world\n");}int main(){ int x; while (1) { printf("---鎿嶄綔閫夐」---\n"); printf("1:杩斿洖鑿滃崟 \n"); printf("2:閫鍑虹▼搴 \n"); printf("3:鎵ц鎿嶄綔 \n"); ...
  • C璇█涓嶤++璇█鑳藉鍏辩敤鍚?
    绛旓細鍥犱负C++鏈夊緢澶欳璇█鏍囧噯娌℃湁瀹氫箟鐨勬墿灞曘傛墍浠ュ悓鏃跺瓨鍦ㄧ函C鍜孋++浠g爜鐨勮瘽鏄笉鑳介氳繃C缂栬瘧鍣ㄧ殑缂栬瘧鐨勩浣跨敤C++缂栬瘧鍣–++鏄疌璇█鐨勬墿灞曞欢浼革紝C++璁捐涔嬪垵灏辫冭檻浜嗗畬鍏ㄥ吋瀹笴璇█鐨勩傛墍浠ョ函C鎴栨槸娣峰悎C/C++椤圭洰閮芥槸鍙互琚獵++缂栬瘧鍣ㄦ墍鏀寔鐨勩傛荤殑鏉ヨ锛屽彧瑕佷娇鐢–++缂栬瘧鍣ㄥ氨涓嶇敤鎷呭績C/C++娣风紪鐨勯棶棰樸
  • 瀛︿範C璇█涓鑸敤浠涔堣蒋浠?
    绛旓細鏂版墜瀛︿範C璇█涓鑸敤浠涔堣蒋浠1銆丏ev-C++ Windows 鐜涓嬬殑涓涓交閲忕骇 C璇█/C++ 闆嗘垚寮鍙戠幆澧(IDE)锛岄伒瀹圙PL璁稿彲鍗忚鍒嗗彂婧愪唬鐮併傚畠闆嗗悎浜嗗姛鑳藉己澶х殑婧愮爜缂栬緫鍣ㄣ丮ingW64/TDM-GCC 缂栬瘧鍣ㄣ丟DB 璋冭瘯鍣ㄥ拰 AStyle 鏍煎紡鏁寸悊鍣ㄧ瓑浼楀鑷敱杞欢锛屾搷浣滃崄鍒嗕究鎹枫2銆丆ode::Blocks 杩欐槸涓涓紑婧愩佽法骞冲彴鐨凜/C++...
  • 扩展阅读:c#连接oracle简单实例 ... c#入门基础知识 ... c++编程 ... java编程入门 ... plsql连接oracle配置 ... oracle数据库入门教程 ... oracle vm virtualbox ... oracle数据库下载官网 ... 安卓c#sharp编译器 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网