नवीनतम अद्यतन (नवंबर 2 2011 9:00) मैं सेवा से TNSping चल की कोशिश की और यह काम करता हैं! हालांकि जब भी मैं कनेक्ट करने का प्रयास करता हूं तब भी मुझे त्रुटि 12154 मिलती है। मैं अब पूरी तरह उलझन में हूं, मैं समझ नहीं पा रहा हूं कि tnsping कैसे ठीक काम कर सकता है लेकिन कनेक्शन सेवा नाम को हल करने में असमर्थ है।एक खिड़कियों सेवा से Oracle से कनेक्ट नहीं कर (: ORA-12154: टीएनएस: त्रुटि सेवा का नाम हल नहीं कर सका (12154))
किसी कारण जब मैं एक खिड़कियों सेवा से निम्न कोड को चलाने के (एक टाइमर घटना पर) मैं त्रुटि मिलती है के लिए: ORA-12154: टीएनएस: सेवा का नाम हल नहीं कर सका (12154)
जब मैं चलाने विंडोज़ फॉर्म ऐप से सटीक एक ही कोड, यह ठीक जुड़ा है। सेवा और ऐप दोनों मेरे खाते के अंतर्गत चल रहे हैं, इसलिए खाता अनुमतियों में कोई अंतर नहीं है।
मैं परेशान हूं कि सेवा क्यों विफल हो जाती है, क्या कोई इस पर कुछ प्रकाश डाल सकता है?
string connectionString = ";DSN=o1;UID=SCOTT;PWD=TIGER;DBQ=ORCL;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;MTS=F;MDI=F;CSR=F;FWC=F;PFC=10;TLO=0;";
OdbcConnection cnn;
cnn = new OdbcConnection(connectionString);
try
{
cnn.Open();
myEventLog.WriteEntry("Connection SUCCEEDED!!!");
cnn.Close();
}
catch (Exception ex)
{
string mes = "Connection FAILED!!!" + ex.Message;
myEventLog.WriteEntry(mes);
}
अपडेट:
1) मैं दोनों प्रणाली और उपयोगकर्ता DSN साथ की कोशिश की है, दोनों एक ही व्यवहार
2) मैं मुकदमा बनाने के लिए प्रणाली वातावरण चर करने के लिए एक TNS_ADMIN कहा कि यह tnsnames.ora फ़ाइल पा सकते हैं। इसने व्यवहार को नहीं बदला।
नई अद्यतन (नवम्बर 1 2011):
1) सुझाव का एक बहुत कनेक्शन स्ट्रिंग में Oracle सर्वर का IP पता लगाने शामिल है tnsnames.ora फ़ाइल बायपास करने के लिए। दुर्भाग्यवश ऐप को उपयोगकर्ता सेट ऑरैक कनेक्शन के साथ काम करना है, इसलिए हमारे पास उस जानकारी में से कोई भी नहीं है। मुझे बस एक डीएसएन के साथ काम करना है। मुझे ओरेकल डीएसएन का उपयोग करके विंडोज़ सेवा से कनेक्ट करना है।
नए अपडेट (2 नवंबर 2011): 1) ऐसा लगता है कि सेवा सफलतापूर्वक tnsnames.ora फ़ाइल को पढ़ रही है। मैं इस प्रक्रिया पर नजर रखने के भाग गया और इन पंक्तियों मिल गया:
7:52:54.4365217 AM OracleService.exe 4624 CreateFile C:\oracle\ora92\network\Names\sdns.ora NAME NOT FOUND Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a
7:52:54.4368466 AM OracleService.exe 4624 CreateFile C:\Windows\SysWOW64\tnsnames.ora NAME NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
7:52:54.4371203 AM OracleService.exe 4624 CreateFile C:\oracle\ora92\network\ADMIN\tnsnames.ora SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
7:52:54.4372693 AM OracleService.exe 4624 QueryBasicInformationFile C:\oracle\ora92\network\ADMIN\tnsnames.ora SUCCESS CreationTime: 01/11/2011 3:10:08 PM, LastAccessTime: 01/11/2011 3:10:08 PM, LastWriteTime: 01/11/2011 3:10:42 PM, ChangeTime: 01/11/2011 3:18:44 PM, FileAttributes: A
7:52:54.4372866 AM OracleService.exe 4624 CloseFile C:\oracle\ora92\network\ADMIN\tnsnames.ora SUCCESS
7:52:54.4375418 AM OracleService.exe 4624 CreateFile C:\oracle\ora92\network\ADMIN SUCCESS Desired Access: Read Data/List Directory, Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
7:52:54.4375857 AM OracleService.exe 4624 QueryDirectory C:\oracle\ora92\network\ADMIN\tnsnames.ora SUCCESS Filter: tnsnames.ora, 1: tnsnames.ora
7:52:54.4376192 AM OracleService.exe 4624 CloseFile C:\oracle\ora92\network\ADMIN SUCCESS
7:52:54.4377770 AM OracleService.exe 4624 CreateFile C:\oracle\ora92\network\ADMIN\tnsnames.ora SUCCESS Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened
7:52:54.4379306 AM OracleService.exe 4624 ReadFile C:\oracle\ora92\network\ADMIN\tnsnames.ora SUCCESS Offset: 0, Length: 337, Priority: Normal
7:52:54.4380061 AM OracleService.exe 4624 ReadFile C:\oracle\ora92\network\ADMIN\tnsnames.ora END OF FILE Offset: 337, Length: 4,096
7:52:54.4380276 AM OracleService.exe 4624 CloseFile C:\oracle\ora92\network\ADMIN\tnsnames.ora SUCCESS
7:52:54.4385823 AM OracleService.exe 4624 CreateFile C:\oracle\ora92\network\ADMIN\ldap.ora NAME NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
तो करता है किसी को भी किसी भी विचार क्यों यह tnsnames.ora फ़ाइल को पढ़ने के बाद नाकाम रहने के किया जा सकता है है? धन्यवाद
में नाम से पहले रिक्त स्थान नहीं है के बाद से यह काम करता है जब आप इसे चलाने के लिए, मैं अपने tnsnames.ora ग्रहण करने के लिए जा रहा हूँ सही ढंग से किया गया है। क्या ओडीबीसी डीएसएन आप सिस्टम डीएनएस या उपयोगकर्ता डीएसएन के रूप में सेटअप करने के लिए कनेक्ट कर रहे हैं? – Tridus
मैंने सिस्टम और उपयोगकर्ता डीएसएन दोनों के साथ प्रयास किया है, दोनों का एक ही व्यवहार है। –
आप किस संस्करण का उपयोग करते हैं? – WaldiMen