أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية استرداد مجموعة سجلات ADO من Oracle عبر استخدام رؤوس مؤشرات REF ASP

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية255043
إخلاء مسؤولية من محتوى قديم في قاعدة المعارف
عن تقديم الدعم التقني لهاو لذلك تظهر هذه المقالة كما هي و لن يتم تحديثها Microsoft تمت كتابة هذه المقالة بخصوص منتجات توقفت
الموجز
مع الإصدار من Microsoft Data Access Components (MDAC) 2.5 يعتمد موفر OLEDB Microsoft Oracle الآن عائد إجراء Oracle خلال بذلك استخدام من نوع المؤشر REF الذي من مجموعات السجلات كائنات بيانات ActiveX (ADO). يتم دعم هذه الوظيفة فقط في موفر OLEDB Microsoft Oracle. لا يعتمد ODBC Microsoft لبرنامج Oracle استخدام رؤوس مؤشرات REF.
معلومات أخرى
هذه الوظيفة الجديدة على بعض الفوائد عبر موفر السابقة:
  • في الإصدارات السابقة من الموفر الطريقة الوحيدة لاسترداد مجموعة سجلات ADO من إجراء Oracle تم التصريح جدول PL/SQL لكل عمود تم يتم إرجاعها في مجموعة السجلات. مع موفر جديد تحتاج فقط إلى إعلان واحد المؤشر REF الذي ثم يعالج ظهور كافة الأعمدة.

    للحصول على معلومات إضافية حول استرداد الإجراءات Oracle خلال الجداول PL/SQL "، انقر فوق رقم المقالة أدناه لعرضها في" قاعدة المعارف لـ Microsoft:
    229919كيفية استرداد مجموعة سجلات من Oracle باستخدام ADO على ASP
  • في الإصدار السابق من الموفر عليك تحديد الحد الأقصى لعدد السجلات التي قد ترجع في مجموعة السجلات. عند فتح مجموعة سجلات ADO استناداً إلى المؤشر REF لم تعد هذه الخطوة ضرورية. مع موفر جديد يمكنك فقط تحديد 0 من أجل عدد السجلات. على سبيل المثال:

    {call curspkg_join.open_join_cursor1(?, {resultset 0, io_cursor})}					
لاستخدام النموذج في هذه المقالة:
  • يجب أن تكون proficient مع Microsoft Visual Basic Scripting Edition (VBScript) "و" كائنات بيانات ActiveX (ADO) "و" صفحات الملقم النشطة (ASP).

  • سوف يتم إنشاء حزم Oracle ، عليك فهم "لغة الاستعلام" اللغة/Structured إجرائية الخاص Oracle.

  • يجب تكوين جهاز ملقم معلومات إنترنت (IIS) بشكل صحيح للعمل مع قاعدة بيانات Oracle.

    للحصول على معلومات إضافية، انقر فوق رقم المقالة أدناه لعرضها في "قاعدة المعارف لـ Microsoft:
    193225كيفية تكوين IIS الاتصال بـ Oracle من ASP و ADO

رمز نموذج

نموذج التعليمات البرمجية التالي يوضح كيفية استرداد مجموعة سجلات ADO من إجراء Oracle خلال المؤشر REF ويتم ثم عرض البيانات على صفحة ASP. يجب تعديل سلسلة اتصال OLEDB المستخدمة في التعليمات البرمجية لـ ASP الاتصال بقاعدة بيانات Oracle.

  1. إنشاء حزمة Oracle التالية على ملقم Oracle قبل تشغيل أي من التعليمات البرمجية لـ ASP. تستخدم هذه الحزمة بعض الجداول معرفة في مخطط Oracle سكوت/Tiger. يتم تثبيت مخطط Oracle سكوت/Tiger مع التثبيت Oracle الافتراضي. في حالة هذا المخطط ، يجب تشغيل "البرامج النصية الجدول" التالي ثم إدراج بعض المعلومات في الجداول:

    البرامج النصية الجدول
    CREATE TABLE DEPT(DEPTNO NUMBER(2,0) NOT NULL, DNAME VARCHAR2(14) NULL, LOC VARCHAR2(13) NULL,PRIMARY KEY (DEPTNO));CREATE TABLE EMP(EMPNO NUMBER(4,0) NOT NULL, ENAME VARCHAR2(10) NULL, JOB VARCHAR2(9) NULL, MGR NUMBER(4,0) NULL, HIREDATE DATE NULL, SAL NUMBER(7,2) NULL, COMM NUMBER(7,2) NULL, DEPTNO NUMBER(2,0) NULL,FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO),  PRIMARY KEY (EMPNO));						

    حزمة البرامج النصية
    CREATE OR REPLACE PACKAGE curspkg_join AS 	TYPE t_cursor IS REF CURSOR ; 	Procedure open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor); END curspkg_join;/ CREATE OR REPLACE PACKAGE BODY curspkg_join ASProcedure open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor) IS 	v_cursor t_cursor; BEGIN 	IF n_EMPNO <> 0 	THEN		OPEN v_cursor FOR 		SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME 			FROM EMP, DEPT 			WHERE EMP.DEPTNO = DEPT.DEPTNO 			AND EMP.EMPNO = n_EMPNO;	ELSE 		OPEN v_cursor FOR 		SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME 			FROM EMP, DEPT 			WHERE EMP.DEPTNO = DEPT.DEPTNO;	END IF;	io_cursor := v_cursor; END open_join_cursor1; END curspkg_join;/ 						
  2. يكون التالي البرنامج النصي ASP الذي يستدعي الإجراء السابق:
    <%@ Language=VBScript %><HTML><HEAD><META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"></HEAD><BODY><P><%	Const CONNECT = "Provider=MSDAORA.1;Data Source=your_tns_alias_name;User ID=scott;Password=tiger"			Dim cn, rs, cmd, param	Dim SQL	set cn = Server.CreateObject( "ADODB.Connection" )	cn.Open CONNECT		SQL = "{call curspkg_join.open_join_cursor1(?, {resultset 0, io_cursor})}"	set cmd = server.CreateObject ("ADODB.Command")	with cmd		set .ActiveConnection	= cn	    .CommandText			= SQL	    .CommandType			= 1		'adCmdText	    'Pass in 0 to retrieve all of the records	    set param = .CreateParameter("id", 131 , 1 , , 0)  '<<131=adNumeric, 1=adParamInput	    .Parameters.Append param	end with						set rs = server.CreateObject ( "ADODB.Recordset" ) 	set rs = cmd.execute		    	%>	<TABLE WIDTH="80%" ALIGN=center BORDER=1 CELLSPACING=3 CELLPADDING=3>	<%	Response.Write ("<TR bgcolor=Gray>")	For i = 0 To rs.Fields.Count - 1		Response.Write ("<TD>" & rs.Fields(i).Name & "</TD>")	Next	Response.Write ("</TR>")	Do until rs.EOF		response.write ("<TR>")		for i = 0 to rs.Fields.Count - 1			If IsNull(rs(i).value) then 				Response.Write ("<TD> NULL </TD>")			else 				Response.Write ("<TD>" & rs(i).value & "</TD>")			end if 		next 		rs.MoveNext		response.write ("</TR>")	loop	%>	</TABLE>	<%	Set cmd = Nothing	Set param = Nothing	rs.close	Set rs = Nothing	cn.close	Set cn = Nothing%></P></BODY></HTML>						
مراجع
لمزيد من المعلومات حول MDAC الرجاء مراجعة موقع التالي على الويب: وثائق Oracle8 Enterprise Edition
ref_cursor

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 255043 - آخر مراجعة: 05/17/2007 10:33:26 - المراجعة: 3.3

Microsoft OLE DB Provider for Oracle Server 1.0

  • kbmt kbhowto kboracle KB255043 KbMtar
تعليقات
html>body>/body> © 2016 Microsoft
s.js">