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

هل يمكن تشغيل Procedure بمجرد أن يتصل المستخدم بقاعدة بيانات

مغلق
بدأه حمزة في 2 فبراير 2007 · 8 رد · 1,052 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي فكرة أولية عن حل الموضوع - كما أعتقد - وهي من خلال الـ Triggers ولكن المشكلة هي أني لا أدري أين أضع هذه الـ Trigger???

أو ربما يوجد طريقة أخرى؟

الرجاء المساعدة

اقتباس
How to get experience without a job, and how to get a job without experience
#2

يمكن جعل Stored Procedure يعمل مع ال Startup لل SQL Server باجراء التعليمة التالية

Use master
Go
EXECUTE sp_procoption
@procname = MyStoredProc,
@optionname = startup,
@optionvalue = true

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#3

شكرا أخي,

لكن أعتقد أنك لم تدرك ما أريد.

عندي قاعدة بيانات إسمها Employees, عندما يتم الإتصال بقاعدة البيانات هذه أريد تنفيذ Procedure موجود في قاعدة البيانات

اقتباس
How to get experience without a job, and how to get a job without experience
#4

اخي حمزة .برأيي هناك حل ان كنت انا فهمت ما تقصده: في الجدول الذي ذكرته عليك ان تضع حقل وليكن Connected يصف وضع النستخدم اي انه متصل او غير متصل. عند دخول المستخدم اعمل

update Employees set Connected =1 where EmpID=??

وفي هذا الجدول ضع trigger for update يجعل الاجراء يعمل exec procedure او ان تأخذ الكود الذي في الاجراء وتضعه بشكل مباشر في ال trigger اكيد مع الانتباه اذا كان هناك باراميترات عليك تعرفيها لأن ال triggers لا تأخذ بارميترات . والله ولي التوفيق

#5

شكرا أخي على الرد, ولكنه ليس المطلوب

هل يوجد جدول يتم حفظ إسم المستخدم وقاعدة البيانات التي يستخدمها

اقتباس
How to get experience without a job, and how to get a job without experience
#6

شكرا لكل من حاول المساعدة في حل هذه المسألة

لقد وجدت الحل

الـ SQL يحفظ كل ال Connections في جدول sysprocesses موجود في قاعدة البيانات master

والحقل dbid هو رقم قاعدة البيانات, ويمكنك الحصول على هذا الرقم باستخدام db_id('master')

اقتباس
How to get experience without a job, and how to get a job without experience
#7

السلام عليكم اخ حمزة

هل يمكن المساعدة على حل مشكلة

المشكله هى اننى اريد trigger يعمل او procedure عندما يتم الاتصال من أى جهازعلى قاعدة البيانات

مرة واحدة فقط كل يوم

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

فما الحل

#8

السلام عليكم

أخي حمزة

اقتباس
الـ SQL يحفظ كل ال Connections في جدول sysprocesses موجود في قاعدة البيانات master

والحقل dbid هو رقم قاعدة البيانات, ويمكنك الحصول على هذا الرقم باستخدام db_id('master')

لم أجد الجدول sysprocesses في Sql 2005 فما هو البديل له.

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

#9

اعتقد ما تبحث عنه فقط يتم من خلال SQL server Agent باضافة JOB تعمل كل يوم بساعة معينة لكن هذه الميزة غير موجودة مع

في SQL Server 2005 Express

لكن يمكنك عمل برنامج صغير يقوم بتنفيذ البروسيجر المطلوب ووضعه في

Scheduled Tasks

في الوبندوز وعمله حسب توقيت يومي معين

تم تعديل هذه المشاركة بواسطة TareqVB في 28 مايو 2007 في 19:27

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…