2012-12-23 23 views
6

से कनेक्ट कोडिनेटर कृपया मदद करें! मैं Oracle मैं Oracle 11g करने के लिए Codeigniter कनेक्ट करने के लिए कोशिश कर रहा हूँ करने के लिए CodeIgniter कनेक्ट नहीं कर सकता है, यहाँ मेरा सेटिंग कर रहे हैंओरेकल 11 जी

Settings in database.php: 

$active_group = 'default'; 
$active_record = TRUE; 

$db['default']['hostname'] = "//localhost/"; 
$db['default']['username'] = 'xxxxxxx'; 
$db['default']['password'] = 'xxxxxxx'; 
$db['default']['database'] = 'orcl'; 
$db['default']['dbdriver'] = 'oci8'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 

नोट: मैं सी कहा: \ वातावरण चर को instantclient_11_2 पथ के लिए।

oracle port number: 
oracle hostname: Home-pc 
database name: orcl 

केवल जब मैं अपने CodeIgniter लॉगिन कोड चलाने यह इस त्रुटि संदेश दिखाता है:

A Database Error Occurred 

Unable to connect to your database server using the provided settings. 

Filename: D:\xampp\htdocs\ci\system\database\DB_driver.php 

Line Number: 124 

लेकिन जब मैं की तरह एक सरल php कोड चल रहा ओरेकल से कनेक्ट कर सकते हैं:

<?php 
$conn = oci_connect("xxxxxx", "xxxxxx",""); 
if (!$conn) { 
    echo "Not connected!"; 
} 
else 
    echo "yahooooooooo!!!!!!!!!!"; 
?> 

परिणाम: याहूooooooo !!!!!!!!!!

+0

आप की कोशिश की है मेजबाननाम को 'लोकलहोस्ट' यानी छोड़कर। स्लेश के बिना? – dakdad

उत्तर

0

इस परिवर्तन में परिवर्तन http://localhost:1521:orcl आप orcl के रूप में डेटाबेस नाम दिया जाता है करने के लिए होस्ट नाम करने की कोशिश, डिफ़ॉल्ट orcl द्वारा डिफ़ॉल्ट आवृत्ति आईडी है। नया उपयोगकर्ता या डेटाबेस बनाने का प्रयास करें और इसे database पर कॉन्फ़िगरेशन में बदलें।

+0

धन्यवाद अबिन, यह एक अच्छा समाधान हो सकता है लेकिन खेद है कि मुझे इसे आजमाने का मौका नहीं मिला। मैंने ओरेकल पूर्ण संस्करण को अनइंस्टॉल किया था और इसे एक्सप्रेस संस्करण के साथ बदल दिया था, यह मेरी सेटिंग्स – zallexy

3

अपने config के database.php में निम्न परिवर्तन

$active_group = 'default'; 
$active_record = TRUE; 

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
     (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))'; 

$db['default']['hostname'] = $tnsname; 
$db['default']['username'] = 'XXXXXX'; 
$db['default']['password'] = 'XXXXX'; 
$db['default']['database'] = ''; 
$db['default']['dbdriver'] = 'oci8'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 
+1

धन्यवाद प्रकाश के साथ काम करता था, असल में यह काम कर सकता था। मैंने ओरेकल पूर्ण संस्करण को अनइंस्टॉल करके और इसे एक्सप्रेस संस्करण के साथ बदलकर समस्या हल की। यह उसी सेटिंग्स के साथ काम करता है – zallexy

0

सुनिश्चित करें php_oci8_11g.dll विस्तार php.ini

+0

हाँ, एक्सटेंशन लोड हो गया है। – zallexy

1

परिवर्तन में लोड किया जाता है बनाने के डिफ़ॉल्टXE को

$active_group = 'XE'; 
$active_record = TRUE; 

$tnsname = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
     (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))'; 

$db['XE']['hostname'] = $tnsname; 
$db['XE']['username'] = 'XXXXXX'; 
$db['XE']['password'] = 'XXXXX'; 
$db['XE']['database'] = ''; 
$db['XE']['dbdriver'] = 'oci8'; 
$db['XE']['dbprefix'] = ''; 
$db['XE']['pconnect'] = TRUE; 
$db['XE']['db_debug'] = TRUE; 
$db['XE']['cache_on'] = FALSE; 
$db['XE']['cachedir'] = ''; 
$db['XE']['char_set'] = 'utf8'; 
$db['XE']['dbcollat'] = 'utf8_general_ci'; 
$db['XE']['swap_pre'] = ''; 
$db['XE']['autoinit'] = TRUE; 
$db['XE']['stricton'] = FALSE;