الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أربط بين SQL Server و Access xp ?

مغلق
بدأه Eman في 16 مايو 2002 · 9 رد · 9,219 مشاهدة · في أرشيف قسم SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ذكر الاستاذ خضر ترزي في كتابه بناء تطبيقات قواعد البيانات العملاقة أن Access xp يعمل كواجهه رسومية ل SQL Server 2000 .. كيف يمكن الربط بينهما ؟؟ حيث أنه بعد بناء قاعدة البيانات باستخدام SQL Server 2000 يتكون لدي ملفين db_Data.mdf والآخر db_Log.ldf .. فكيف يمكنني فتح قاعدة البيانات والتعامل معها باستخدام Access xp ؟؟

أو

كيف يمكنني إضافة صفوف إي إدخال المعلومات إلى الجداول في SQL Server 2000 ??

لكم جزيل شكري وتحياتي

#2

يمكنك الربط بينهما بعدة طرق أسهلها بالنسبة لى

هى عمل ODBC لقاعدة البياناتSQL ذلك من ال_Control Panel

ثم فتح OF_XP وعمل Linked Table وعندها تختارى طريقة ODBC

بعد عمل ذلك يتم التعامل مع ال Tablesبطريقة عادية جدا وكأنها جداول Access

اتمنى وصول المعلومة

#3

فى حالة عمل ملف Project

من القائمة ملف - اتصال (Connection )

تظهر Data Link Properties ومنها يمكن ادخال اسم السيرفر والباسوورد والاسم واسم قاعدة البيانات ويمكن اختبار الاتصال اذا نجح فى هذه الحالة تم الاتصال بنجاح

ملاحظة اذا لم يكن هنا سيرفر لابد من تشغيل Local Msde

#4

انا كنت اقصد في الكتاب الطريقة الثانية :)

و هي فتح قاعدة بيانات جديدة في Access من نوع Database Project

قاعدة بيانات من هذا النوع لا تعمل بدون SQL Server حيث تطلب عنوانه، اذا كان في نفس الجهاز بامكانك كتابة كلمة Localhost في منطقة العنوان

ثم اختار اسم الدخول و كلمة المرور لقاعدة البيانات او استخدم صلاحيات Windows نفسها المسمية ب Trusted Connections او ربما تغير الاسم

ثالث شيئ اختار قاعدة البيانات في SQL Server

هذا طبعا كان ل Database Project Existing Database ، هناك ل New Database حيث يقوم هو صناعة قاعدة البيانات في SQL Server.

البعض احيانا يواجه مشاكل في هذه النقطة اذا كان بيستخدم برامج جدار ناري لانترنت لان الاتصال بين Access و SQL Server هو عبر بروتوكول TCP/IP.

سوف تلاحظ بان Access XP او قاعدة البيانات تغيرت قليلا، قم ببناء جدول جديد سوف تجد بان طريقة بناء الجداول تغيرت و طريقة توصيف البيانات ايضا، بمجرد بناء الجدول اذهب الى ال SQL Server Enterprise Manager فسوف تجد الجدول هناك ايضا، و هذه حقيقة لان Access XP الان مدموج مع SQL Server و يعمل كواجهة لجداوله.

نفس الشيئ يعتمد للجزء الثاني بعد الجداول و الذي يحتوي على الاستعلامات البسيطة Querys و الاستعلامات المعقدة و كود Transact SQL المسمية ب Stored Procedures و هناك شيئ جديد الان بين الاستعلامات البسيطة و المعقدة و يسمة Function و هي استعلامات ممكن ان تكتب بها Transact SQL و لكن يجب ان ترجع البيانات بنفس الطريقة التي ترجعها الاستعلامات البسيطة.

بالنسبة للجداول اذا ضغط على جدول ما بالزر الثاني للفائرة فسوف تجد شيئ اسمه Trigers :) و هي اوامر Transact SQL ممكن تشغيلها عند التعديل في البيانات للحفاظ على التكامل المنطقي للبيانات.

في الجزء الثالث هناك Diagrams و هي لبناء مخططات علاقات معقدة بين الجداول للحفاظ على تكامل قاعدة البيانات.

الثلاثة اجزاء السابقة تنفذ في طرف الجهاز المركزي ، اي اذا كتبت كود Transact SQL لعملية احتساب ما و نقرت عليه مرتين من داخل قاعدة بيانات ال Access XP فهو سوف ينفذ في الجهاز المركزي و سوف تاتيك البيانات الناتجة من التنفيذ، و هذه حقيقة لان الامر اساسا موجود هناك

Microsoft Access XP يقوم بعمل رائع بايهام الاجزاء الاخرى بان الجداول هي في نفس قاعدة البيانات.

الان اذا بنيت نموذج جديد سوف تجد ازرار اضافية تحت النموذج للتحكم بالبيانات، فالنموذج الان يحضر البيانات من الجهاز المركزي و هناك حد نهائي لمعالجة البيانات معا، بالطبع ممكن ان تضعه لا نهائي و لكن ذلك لا يحبذ

الحد هو عدد السجلات التي يجب نقلها من SQL Server الى Access لمعالجتها في نفس الوقت ، كلما زادت كلما زاد الضغط على الشبكة.

بكلمات اخرى اذا لديك جدول بها 10 او 20 مليون سجل لا تصنع نموذج يعرضها كلها مرة واحدة :) ، مع انه لن يكون لديك مشكلة بذلك لان النموذج سوف يفتح فورا و يبدا بسحب البيانات و يسمح لك بمعالجة ما هو موجود.

سوف تجد خصائص اضافية في النماذج و التقارير، و منها ال Server Filter و هو رائع، و ايضا تشغيل النماذج في حالة بحث مباشرة و هذه خاصية رائعة ايضا.

الاولى تستخدم للبحث، اي قبل فتح النموذج النموذج يرسل اتستعلام SQL الى الجهاز المركزي ليرسل له فقط السلاجلات الموجودة، اي انك لست بحاجة لبناء كود بحث.

الثانية اسهل بكثير و هي فتح النموذج فارغ، اي بدون بيانات ، و يسمى فتح في حالة البحث، بحيث يمكنك كتابة كلمات بالداخل للبحث عنها في اية مكان في النموذج بحيث عند تشغيله سوف تتحول كل الكلمات الى عبارات SQL ترسل للجهاز المركزي لياتي بالنتيجة

سوف تعجبك كثيرا ايضا مسئلة تعدد النماذج في نموذج واحد عند البحث، اي بكلمات اخرى اذا طلبت البحث عن شخص اسمه الاول احمد او اسمه الاول محمد، عند كتابة احمد سوف تجد اسفل النموذج Tab به And و or اذا نقرت عليهم سوف تنتقل الى صفحة اضافية من نفس النموذج لتكتب بالاسم محمد و من ثم تضغط على زر البحث اعلى الصفحة للبحث.

هناك اختلافات كثيرة جدا سوف تلاحظها في Access ، الاهم هو دائما التفكير بان البرنامج قد يعمل عبر شبكة و يجب ان يبنى ليعمل كذلك، اي فكر في حركة البيانات عند بنائك للبرنامج

بالتوفيق :)

#5

عفواً

بعد كل هذا .. لم أفهم

في الحقيقة أنا أمس فقط تعرفت على الـ SQL Server .. ولأول مرة أقوم بتحميله على الجهاز .. طبعا لو لم يكن لدي نسخة من كتاب الأستاذ خضر الترزي لما أمكن ذلك .. فشكر جزيل لك أستاذي خضر على هذا المجهود الرائع وأتمنى أن تستمر وتكمل

كبداية .. قمت بعمل قاعدة بيانات جديدة أسميتها db .. وقمت بعمل جدول واحد فيها أسميته Table1 .. وهناك حقلين في هذا الجدول هما ID و Name .. إلى هنا كل شيء جيد .. المشكلة التي واجهتني بعد ذلك هي كيفية إدخال البيانات إلى الجدول .. أي كيف أعمل Insert للبيانات .. ففكرت بأن أقوم بعمل ربط بين الSQL Server والـAccess XP كي أدخل البيانات إلى الجدول

فإذا كانت هناك طريقة أسهل لإدخال البيانات .. فالرجاء توضيحها؟؟؟

وهذي البداية .. أنا إلى الآن لم أقم بعمل علاقة بين أكثر من جدول :D

ولكم جزيل شكري

#6

اها، هذا انت مبتدئ خالص :D

اذهب الى Microsoft Access XP

اصنع قاعدة بيانات جديدة

اختار بدل قاعدة البيانات العادية قاعدة بيانات من نوع

Microsoft Database Project - Existing Database

سوف يسئلك البرنامج عن اسم الجهاز المركزي

الجهاز المركزي اسمه localhost و الذي هو جهازك.

سوف يسئلك عن اسم الدخول و كلمة المرور، او استخدام تلك الخاصة ب Windows قول له ان يستخدم تلك الخاصة ب Windows

سوف يسئلك عن اسم قاعدة البيانات في ال SQL Server قم باختيارها من المربع

و من ثم سوف تظهر قاعدة بيانات جديد في Access XP هذه القاعدة هي نصفها في SQL Server و النصف الاخر في Access

النماذج في Access هي المسئولة عن تعبئة البيانات في الجداول في SQL Server

بعدها اذا استخدمت Access XP سابقا سوف تجد باقي رسالتي سهلة، اذا لم تستخدمه فاهلا و سهلا بباقي اسئلتك، سوف اكون سعيد بالاجابة عليها و اضافة توضيحات اضافية، جرب السابق فقط وتاكد من عملك لربط بينهما

−1
#7

طيب أخي خضر لو سمحت

أنا حقيقة أساسا أريد استخدام SQL Server علشان أربطه بصفحات الASP .. هو هذا الهدف الأساسي .. لاني صارلي شهرين أحاول أني أربط Oracle وما ضبط .. فقلت أجرب حظي مع SQL Server .. فهل هذه الطريقة اللي وصفتها .. ممكن تشغل لي صفحات الASP عادي ؟؟ .. وإذا كانت طريقة إدخال البيانات معقده .. فأنا أفضل أني أنتظر إلى أن تضبط ربطة الصفحات مع قاعدة البيانات ثم أدخل البيانات عن طريق الصفحة .. وإلا أيش رأيك ؟؟ :)

ولك جزيل الشكر على حسن الرد وسرعته

#8

الطريقة التي وصفتها يمكنك ان تفتح صفة ASP من داخل Access و تربطها مع SQL Server من الداخل و تعمل بصورة طبيعية بدون الحاجة الى قاعدة البيانات نفسها.

بالطبع تلك الصفحات ليست صفحات ASP بالضبط بل نوع مشابه و تعمل فقط في حال وجود Access في الجهاز او في حال تركيب برنامج خاص في طرف الجهاز المركزي

لو كنت تقصد صفحات ال ASP العادية فهي ترتبط ب SQL Server بدون الحاجة الى Access من الاساس و ربطها فائق السهولة و يتم بكام سطر كود

في Visual Studio .NET هناك امكانية بناء صفحات ASPX و ربطها مع قواعد البيانات بدون الحاجة الى كتابة كود حتى بصورة لا مثيل لها.

بالنسبة لربط صفحات ال ASP مع قواعد البيانات فهناك شرح طويل جدا في منتدى تصميم الصفحات باستخدام تكنولوجيا مايكروسوفت

#9

لو سمحت أخي خضر .. أنا عارفه أني ثقلت عليك .. لكن سؤال أخير إن شاء الله

في منتدى الASP علموني طريقة لربط قواعد بيانات SQL Server مع الASP .. لكن للأسف هذي الطريقة تتطلب اسم مستخدم وباسورد .. قالوا لي استخدمي sa كاسم مستخدم .. وهذا نص الكلام : sa : أسم مستخدم لقاعدة البيانات و هو الأسم الأفتراضي بدون كلمة سر .. لكن للأسف أيضا ما نفع عندي

فهل ممكن اتعلمني كيف أعمل أنا مستخدم واحط لع كلمة سر لقاعدة البيانات اللي عندي ؟؟ .. ثم هل من الممكن نقل هذه الاسماء وكلمات السر إلى الخادم عند نقل الصفحات إلى الانترنت ؟؟؟

ولك جزيل شكري وتحياتي

#10

الاخت الكريمة، انا الان فقطت انتبهت للاسم، اسف لاستخدام صيغة المذكر بدل من المؤنث في ردودي السابقة.

بالنسبة ل SQL Server فهو يقوم بحامية قاعدة البيانات و كل قواعد البيانات بالداخل عبر نظامان من الاسماء، اسماء الدخول الخاصة ب Windows NT و اسماء الدخول الخاصة ب SQL Server نفسه، و ايضا يندمج مع ال Active Directory.

الطريقة التي ارشدوكي لاستخدامها هي الاسهل، حيث انه عند تركيب SQL Server 7.0 هناك اسم مستخدم و هو مدير قاعدة البيانات و هو sa و كلمة السر الخاصة به فارغة، او هي نفس الكلمة التي حدتيها عند التركيب.

في SQL Server 2000 اظن هناك رسالة تنبيه لحظة تركيب النظام لوضع كلمة سر

عند تركيب SQL Server هذا النظام بيسئل لحظة تركيبه هل يتم تفعيل اسماء SQL Server او الاعتماد على الصلاحيات من خلال Windows الكثيرين لا ينتبهون لهذه الرسالة فيتم عدم تفعيل تلك الاسماء مثل sa

لتفعيلها يجب الذهاب الى خصائص ال SQL Server من خلال برنامج ال Enterprise Manager كالتالي

تشغيل ال Enteprise Manager

التحرك عبر الشجرة حتى نصل للجهاز المركزي

الضغط عليه بالزر الثاني للماوس و اختيار خصائص

و نصل الى الشاشة التالية

sqlsc.GIF

و فيها موضح اننا طلبنا استخدام صلاحيات Windows و SQL Server معا

اظن بعض نسخ SQL Server يفضل اعادة تشغيل الجهاز بعد القيام بهذه العملية و هذا في نسخ و حالات محدودة جدا، اذا لم تعمل الصفخات بعد التغير يفضل اعادة تشغيل الجهاز

على العموم عندها يمكنك استخدام المستخدم sa مع كلمة السر الخاصة به في الصفحات

اذا لم تتذكري كلمة السر الخاصة به اذهبي الى ثالث جزء على ما اعتقد و الذي يضم المستخدمين في ال Enterprise Manager و بالنقر المزدوج على المستخدم sa يمكن تغير كلمة السر الخاصة به

الهدف من حاجة صفحات ال ASP الى اسم دخول و كلمة سر للوصول الى قاعدة البيانات هو نظام الحماية المستخدم

SQL Server لن يعطي بيانات الى اية شخص او برنامج في جهاز الكومبيوتر بدون صلاحيات حتى لو كانا في نفس الجهاز معا :)

لو اردتي استخدام user اخر لقاعدة البيانات، مثلا لو لديك جهاز فيه قواعد بيانات كثيرة و اردتي حماية كل منها باسم مختلف بصلاحيات فالمسئلة سهلة ايضا

في القسم الخاص بالمستخدمين المنفصل في SQL Server عليكي اضافة مستخدم جديد باية اسم و اية كلمة سر

و من ثم الذهاب الى قاعدة البيانات نفسها و هناك ايضا مستخدمين، يجب اضافة مستخدم جديد هناك ، عند اضافة مستخدم جديد هناك سوف يظهر المستخدمين في الجزء الرئيسي ل SQL Server

بكلمات اخرى لا يمكن اضافة مستخدم لقاعدة بيانات اذا لم يسجل في قائمة المستخدمين الرئيسية في SQL Server

بالنسبة للمستخدم الجديد فهناك زر صلاحيات بداخل شاشة ادارته بعد اضافته، يمكن ان تضعي له صلاحية على كل جدول، مثلا يمكنه الوصول الى البيانات في جدول و عدم امكانية مسحها، او يمكنه الاضافة الى جدول بدن حتى ان يتمكن من رؤية البيانات القديمة الموجودة في الجدول و ما الى ذلك.

اذا لم ترغبي بالتغلب في الصلاحيات و اردتي اعطاء المستخدم الجديد صلاحيات كاملة فيمكن اضافته الى مجموعة db owner الموجودة في نفس قاعدة البيانات لتصبح له صلاحيات كاملة، هناك ايضا مجموعات اخرى بصلاحيات مختلفة في كل قاعدة بيانات و يمكن بناء مجموعات خاصة

بكلمات اخرى حماية قاعدة البيانات في SQL Server لا تتم باغلاقها بكلمة سر، بل عملية الحماية عملية معقدة لتضمن اعلى حماية ممكنة و تتم عبر مستخدمين و كلمات سر لكل منهم و مجموعات يمكننا تقسيمهم اليهم.

على العموم ربما يكون السابق معقد قليلا و انا شرحي ايضا مش واضح كثيرا، ولكن اعتقد انه كبداية للامر يمكن بعد تعديل الصلاحيات الاتصال بقاعدة البيانات على الاقل.

هذا الموضوع مغلق.

مواضيع مشابهة