ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => หัวข้อเริ่มโดย: fogza ใน 04 กันยายน 2011, 20:10:38

ชื่อเรื่อง: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 04 กันยายน 2011, 20:10:38
ผมลองเขียนตามตัวอย่างของ manual (http://phplens.com/lens/adodb/docs-adodb.htm#ex1) ใน adodb ดู

มันไม่ขึ้นอะไรเลยครับ ช่วยดูโค้ดให้หน่อยนะครับ
<html>
<head>
<title>ThaiCreate.Com PHP & Access Tutorial</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?
include('adodb5/adodb.inc.php');
$conn = &ADONewConnection('oracle');        # create a connection

$conn->PConnect('false', 'system', '1234', 'article');   # ตรงนี้ผมไม่แน่ใจว่าใช่ตามที่ตั้งไว้หรือปล่าว

$recordSet = &$conn->Execute('select * from article');

if (!$recordSet)

print $conn->ErrorMsg();

else

while (!$recordSet->EOF) {

print $recordSet->fields[0].' '.$recordSet->fields[4].'<BR>';

$recordSet->MoveNext();

}

$recordSet->Close(); # optional

$conn->Close(); # optional

?>
</body>
</html>

ผมสร้างตารางชื่อ article นะครับ ช่วยดูให้ทีนะ
ขอบคุณมากครับ ฃ
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: ratz ใน 04 กันยายน 2011, 20:21:28
ผมเดาเอานะคับ

$conn->PConnect('false', 'system', '1234', 'article');  <-- host ไม่น่าจะเป็น false นะคับ คิดว่ามันจะประมาณนี้ $conn->PConnect(host,username,password,database);

   $recordSet = $conn->Execute('select * from article'); แล้วก็เดาเอาว่าไม่าจะต้องใส่ & นะคับ ไม่น่าจะต้อง returned by reference (ถ้าผมเข้าใจ & ไม่ผิดอะนะ)
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 05 กันยายน 2011, 01:29:57
อ้างถึงจาก: ratz ใน 04 กันยายน 2011, 20:21:28
ผมเดาเอานะคับ

$conn->PConnect('false', 'system', '1234', 'article');  <-- host ไม่น่าจะเป็น false นะคับ คิดว่ามันจะประมาณนี้ $conn->PConnect(host,username,password,database);

   $recordSet = $conn->Execute('select * from article'); แล้วก็เดาเอาว่าไม่าจะต้องใส่ & นะคับ ไม่น่าจะต้อง returned by reference (ถ้าผมเข้าใจ & ไม่ผิดอะนะ)
ผมลองเปลี่ยนเป็น $conn->PConnect('localhost', 'system', '1234', 'article'); และเอา & ออกแล้วแต่ก็ยังไม่ได้อยู่ดีครับ ทำไงต่อดี  :'(
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: suchatd ใน 05 กันยายน 2011, 02:25:04
ตอนนี้มันขึ้น error อะไรมาบ้างหรือเปล่าครับ
หรือว่า blank page อย่างเดียวครับ ??

$conn->PConnect('localhost', 'system', '1234', 'article');

อันสุดท้ายจะเป็น dbname นะครับ ไม่ใช่ชื่อ table นะครับ
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 05 กันยายน 2011, 02:40:55
อ้างถึงจาก: suchatd ใน 05 กันยายน 2011, 02:25:04
ตอนนี้มันขึ้น error อะไรมาบ้างหรือเปล่าครับ
หรือว่า blank page อย่างเดียวครับ ??

$conn->PConnect('localhost', 'system', '1234', 'article');

อันสุดท้ายจะเป็น dbname นะครับ ไม่ใช่ชื่อ table นะครับ

ตรงนี้แหละครับที่ผมสับสน มันไม่เหมือน mysql เลย ตอนที่เข้าไปสร้างตาราง ก็สร้างชื่อ article ครับ แต่ไม่รู้ว่ามันอยู่ใน dbname อันไหน มันมีวิธีดูไหมครับ
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: suchatd ใน 05 กันยายน 2011, 02:49:00
ใช้ sqlplus หรือเปล่าครับ
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 05 กันยายน 2011, 02:57:21
ปล่าวครับ ผมไม่เคยใช้ ผมใช้ oracle 10g XE ตัวฟรีนะครับ ที่เข้าผ่าน http://127.0.0.1:8080/apex นะครับ
แล้วก็ไปสร้างตารางในนั้นเลยครับ
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: suchatd ใน 05 กันยายน 2011, 02:59:11
อ่อพอจะรู้ละ สำหรับ oracle มันจะเป็นรูปแบบนี้

$conn->PConnect('TNSName', 'system', '1234');

ผมเองไม่ได้แตะ oracle มา 3 ปีก่าละ ตั้งแต่ 9i เลยลืมๆ ไปหมดละ  :wanwan044:
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 05 กันยายน 2011, 03:02:19
ผมลองแล้วแต่มันก็ยังไม่ได้อยู่ดีครับ
พอจะมีตัวอย่างบ้างไหม๋ครับ ผมหาไม่เจอซะที เจอแต่ที่เป็น mysql
ถ้าเชื่อต่อ mysql มันได้ครับ แต่พอจะไป oracle ติดปัญหานี้แหละครับ  :'(
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: ratz ใน 05 กันยายน 2011, 04:16:11
ok let's me try again(mua)

$db = NewADOConnection("oci8"); // oci8 = standard method for accessing databases running Oracle 8i, 9i or 10g (and later).

$db->Connect($tnsName, username, password); //I'm not sure about position na kub tnsName is Transparent Network Substrate Name na kub

why don't u use mysql la?


ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 05 กันยายน 2011, 10:16:26
อ้างถึงจาก: ratz ใน 05 กันยายน 2011, 04:16:11
ok let's me try again(mua)

$db = NewADOConnection("oci8"); // oci8 = standard method for accessing databases running Oracle 8i, 9i or 10g (and later).

$db->Connect($tnsName, username, password); //I'm not sure about position na kub tnsName is Transparent Network Substrate Name na kub

why don't u use mysql la?

ลองเปลี่ยนเป็น oci แล้วก็เปลี่ยนพารามิเตอร์ตามที่บอกไว้แต่ยังไม่ได้ครับ
ผมดูตามนี้นะครับ Connecting to Multiple Databases at once (http://phplens.com/lens/adodb/docs-adodb.htm#ex6)
เหตุที่ไม่ใช้ mysql เพราะอาจารย์เค้าอยากให้ใช้ 3 ฐานข้อมูลร่วมกันครับ mysql ผมทำเสร็จไปแล้ว เหลือ oracle กับ sql server 2008 สองตัวนี้จะใช้ adodb เป็นตัวเชื่อมครับ ส่วน mysql จะไม่ใช่ตัวเชื่อมอะไรครับ

ผมดูในเว็บต่างประเทศเค้าก็เขียนประมาณนี้นะครับ
Using ADOdb with PHP and Oracle: an advanced tutorial (http://phplens.com/lens/adodb/docs-oracle.htm)
include "/path/to/adodb.inc.php";
$db = NewADOConnection("oci8");
$db->Connect($tnsName, "scott", "tiger");

$rs = $db->Execute("select * from emp where empno>:emp order by empno",
                    array('emp' => 7900));
while ($arr = $rs->FetchRow()) {
    print_r($arr);
echo "<hr>";
}
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: suchatd ใน 05 กันยายน 2011, 10:27:08
ใส่ tnsname ถูกต้องแล้วก็ยังไม่ได้เหรอครับ ??
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 05 กันยายน 2011, 10:39:19
อ้างถึงจาก: suchatd ใน 05 กันยายน 2011, 10:27:08
ใส่ tnsname ถูกต้องแล้วก็ยังไม่ได้เหรอครับ ??
tnsname คือชื่อตารางที่สร้างใช่ไหม๋ครับ ถ้าใช่ก็ถูกแล้วครับ ผมสร้างตารางชื่อ article ครับ
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: fogza ใน 05 กันยายน 2011, 11:03:39
ผมไปเจอบทความนี้มาครับ
ใช้ ADOdb กับ PHP และ Oracle มีข้อดีเยอะมากมาย (1/2) (http://www.webub.com/%E0%B9%83%E0%B8%8A%E0%B9%89%20ADOdb%20%E0%B8%81%E0%B8%B1%E0%B8%9A%20PHP%20%E0%B9%81%E0%B8%A5%E0%B8%B0%20Oracle%20%E0%B8%A1%E0%B8%B5%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%94%E0%B8%B5%E0%B9%80%E0%B8%A2%E0%B8%AD%E0%B8%B0%E0%B8%A1%E0%B8%B2%E0%B8%81%E0%B8%A1%E0%B8%B2%E0%B8%A2%20%20-928-16.html)

ใช้ ADOdb กับ PHP และ Oracle มีข้อดีเยอะมากมาย (2/2)
(http://www.webub.com/%E0%B9%83...%B2%E0%B8%A2%20%20-929-16.html)
ไม่ทราบว่าผมต้องทำแบบไหนหรอครับ วิธีติดต่อมีมากมายเลย  :P
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: svrnuke ใน 22 มีนาคม 2012, 16:50:41
        $DB_Type = "oci8";
   $DB_Host = "192.168.1.xxx";
        $DB_Port = "1521";
   $DB_User = "SYS";
   $DB_Password = "123456";
   $DB_Name = "TESTDB";
   $DB_SERVICE_NAME = "ORCI";


   $DB_TNSName = "
     (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST =$DB_Host)(PORT = $DB_Port))
      )
      (CONNECT_DATA =
         (SERVER = DEDICATED)
        (SERVICE_NAME = $DB_SERVICE_NAME)
      )
     )";

$db = NewADOConnection($DB_Type);
$db->Connect($DB_TNSName, $DB_User, $DB_Password);

.
.
.


ขออนุญาตขุดหน่อ่ยนะครับ  พอดีพึ่ง search เจอ
ชื่อเรื่อง: Re: มีปัญหาการใช้ adodb กับการเชื่อมต่อ oracle ครับ ช่วยดูโค้ดให้ที
โพสต์โดย: MeenyFancy ใน 22 มีนาคม 2012, 17:48:21
TNS name ไม่ใช่ชื่อตารางครับ
มันเป็นชื่อ database