السلام عليكم ورحمة الله وبركاته
أخواني أخواتي
عندي سؤالين عن قاعدة البيانات أوركل
انا ربط القاعدة بالبرنامج والحمد الله شغاله 100 %
لاكن واجهتني مشكلتين :
1- ترقيم التلقائي ID
في الأكسس كان الحقل إللي أبيه يترقم تلقائي أختار AutoNumber
لاكن في الأوركل لا يوجد شيء بهذا الاسم فكيف أقوم بترقيم التلقائي ؟
2- ربط العميل
في الأكسس كنت أعطيه رقم IP حق الشبكه ومكان القاعدة وخلاص يتم ربطه
اما في الأوراكل في المره الأولى أعطيته أسم الجهاز ومانفع وفي المره الثانيه أعطيته رقم IP مانفع
فياليت أعرف وش السبب ؟! هل يجب ان اعرف له شيء عشان يرى القاعدة ؟!
بالنسبه للترقيم التلقائي لابد من عمل triger في قاعدة البيانات يقوم بهذا الامر لان الترقيم التلقائي غير موجود في اوراكل
ثانيا فيما يتعلق بالاتصال عن بعد هل جهاز العميل مثبت عليه oracle client software
لابد من تثبيت Oracle Client Software
لكى تقوم بعمل autonumber لابد من 3 خطوات
أولا- أن يكون لديك حقل رقمى وليكن عبارة عن Primary key
ثانيا- تقوم بعمل ما يسمى sequence في الجدول
ثالثا- عمل ال trigger الذى سوف يقوم بالترقيم التلقائي
PHP كود :
لنفرض لدينا هذا الجدول
CREATE TABLE users (
ID NUMBER(50) NOT NULL,
Name VARCHAR2(100) NOT NULL);
ALTER TABLE users ADD (
CONSTRAINT users_pk PRIMARY KEY (ID));
CREATE SEQUENCE id_seq;
لاحظ تم إضافة ال sequence
ثم بعد ذلك قم بعمل trigger وبه التالى
CREATE OR REPLACE TRIGGER USERSID
BEFORE INSERT ON USERS
FOR EACH ROW
WHEN (new.id IS NULL)
BEGIN
SELECT ID_SEQ.NEXTVAL
INTO :new.id
FROM dual;
END;
شكرا أخي
جزاك الله خير ووضعه في موازين حسناتك
تم الحل