الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

تعريفdata links

Featured Replies

بتاريخ:

السلام عليكم
وتحياتى للجميع
اريد معرفة ما هو data link وكيفية استخدامة ومتى يجب ان استخدمه
ولكم جزيل الشكر
وبالتوفيق

بتاريخ:

السلام عليكم ورحمة الله وبركاته
أخى الفاضل ، تقوم ال database links وهى أحد كائنات قاعدة البيانات بإعلام أوراكل بكيفية الإنتقال من قاعدة بيانات لأخرى و يتطلب ال database link رابط قاعدة البيانات أن تقوم بتشغيل oracle net والذى كان يعرف سابقا ب sql net و net8 بين كل من الجهازين المتصلين...
فلنفرض مثلا أن ترغب فى أن تقوم بعمل إستعلام عن جدول موجود على قاعدة بيانات أخرى - وسأضع لك مثال على ذلك - فما الذى يمكن أن يحققه لك الdatabase link ؟
فى الواقع سيعطيك التالى :
- بروتوكول الإتصالات الذى سيتم إستخدامه خلال الإتصال
- جهاز الكمبيوتر ال host الذى يحوى قاعدة البيانات البعيدة
- إسم قاعدة البيانات على هذا الجهاز ( فقد يحوى هذا الجهاز أكتر من قاعدة بيانات )
- إسم حق دخول صحيح لك على قاعدة البيانات البعيدة تلك
- كلمة المرور لحق الدخول المذكور
وعند إستخدام رابط قاعدة البيانات فإنه يقوم بتسجيل الدخول كمستخدم فى قاعدة البيانات البعيدة ثم يقوم بالخروج من النظام عند إتمام عملية الوصول للبيانات من عن بعد.
والdatabase link قد يكون private حيث يمتلكه مستخدم واحد فقط وقد يكون public حيث يمكن لجميع المستخدمين فى قاعدة البيانات المحلية إستخدامه .
مثال على إنشاء database link :

SQL> create database link dblink1
connect to walid  identified by  azmy
using 'HQ';




ولاحظ أنك لكى تنشىء public database link ستحتاج previlige إسمها create database link وهى موجودة ضمن دور DBA
كما لاحظ أن عبارة USING هى التى تحدد لك سلسلة الإتصال التى سوف تستخدمها CONNECTION STRING وهو ما يعرف أيضا بإسم الخدمة التى تستخدم فى الإتصال...
ما معنى هذا ؟
معناه أن جهازك الذى تتصل منه الآن بقاعدة البيانات البعيدة يجب أن يكون عليه برنامج ORACLE NET والذى بدوره يستخدم ملف توصيف خاص به هو ملف tnsnames.ora .. هذا الملف العفريت يجب أن يكون به مدخل بإسم الخدمة الذى حددته وهو فى حالتنا هذه HQ...
وعلى ذلك لو قمت أنت بالإطلاع على هذا الملف يجب و أن يكون لديك المدخل التالى :

HQ=(DESCRIPTION=
 (ADDRESS_LIST=
 (ADDRESS=(PROTOCOL=TCP)
(PORT=1521))
(CONNECT DATA=
(SERVICE_NAME=HQ.HOST1)
)
)




فى هذا المدخل الموجود فى tnsnames.ora تم تعيين إسم الخدمة HQ لأداة وصف الإتصال والتى تبلغ قاعدة البيانات بأى البروتوكولات التى سيتم إستخدامها TCP/IP وأى جهاز كمبيوتر مضيف وقاعدة بيانات موجودة عليه سيتم الإتصال بهما HOST1 و HQ الموجودان فى السطر الأخير ... أما حكاية الport فى السطر الرابع فتشير للمنفذ الذى سيتم إستخدامه للإتصال على جهاز الكمبيوتر المضيف وفى الواقع فإن 1521 هو المنفذ الإفتراضى على نظام ويندوز بالنسبة لخدمة TCP/IP ...

لاحظ الفرق بين HQ الموجودة فى السطر الأول وهى إسم الSERVICE وبين HQ الموجودة فى HQ.HOST1 وهى إسم قاعدة البيانات على الجهاز البعيد فلا تخلط بينهم لأنك عندما تستخدم عبارة USING فإنك تعنى إسم الخدمة SERVICE والتى يطلق عليها أيضا سلسلة الإتصال CONNECTION STRING ....

وكل ماعليك الآن هو النداء على رابط قاعدة البيانات الذى أنشئته لعمل إستعلام عن جدول موجود فى قاعدة البيانات البعيدة ...

select * from emp@dblink1;


وهناك إستخدامات أخرى للdatabase links تظهر خاصة مع الmaterialized views وسوف أوردها بإذن الله قريبا .

أرجو أن أكون قد وفقت
تحياتى
:D

تم تعديل بواسطة Walid Azmy

بتاريخ:
  • كاتب الموضوع

شكرا اخى Walid Azmy على اهتمامك وردك وجزاك الله خيرا
ولكن انا اريد معرفة data link الموجودة فى الريبورت هل لها نفس الأستخدام الذى ذكرته ام تختلف؟
وبالتوفيق

  • بعد 3 شهور...
بتاريخ:

أستاااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااذ
والله أستاذ :) :( :lol:

معرفة المعلومة شيئ ، وفن توصيل هذه المعلومة شيء آخر
..
والله جهد مقدر يا أستاذ وليد ،، وفي انتظار أمثلة أخرى لاستخدامات هذا الـ Flyover :lol:

  • بعد 3 أسابيع...
بتاريخ:

أخى وليد عزمى
فعلا كما قال أخونا عروة أستاااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااذ
بارك الله فيك أخونا العزيز
وكل عام وأنت بخير
أخوك رأفت

بتاريخ:

يمكن تعريف database Link مباشرة دون الحاجة للاضافة على tnsnames باستخدام الامر
create public database link LINKNAME
connect to username identified by pass
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = port))
)
(CONNECT_DATA =
(SERVICE_NAME = database alias)
))'

بتاريخ:

إضافة جمييييلة يابوحميد ،،

تسلم ، والله ما قصرت ..

وإلى الأمام .

  • بعد 1 سنة...
بتاريخ:

الأخوة الأفاضل
لن أقول لك شئ سوي أن يجازيكم الله خيراً علي هذه المساعدات القيمة
حاولت ربط قاعدتي بيانات بنفس الطريقة التي تم شرحها في بداية المشاركة
ولكن عن تنفيذ الاستعلام أحصل علي الخطأ الآتي :
ORA-28030: Server encountered problems accessing LDAP directory service
وحاولت الحصول علي حل ولم أجد
مع العلم أنني أربط بين قاعدتي بيانات
Oracle 8.1.7
ولن أستطيع ترقيتها في الوقت
أرجو أن أجد عندكم الحل لأنني أحتاجه ضروري جداً
محمود درويش
m.darwish@alexandria,cc
[email protected]

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.