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

كيف أنشئ مجلد بامر من اوامر T-SQL Server

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

لو فرضنا عايز اعمل انشاء للمجلد باستخدام امر من اوامر ال SQL فما هو هذا الامر لكي أنشئ مجلدا جديدا،،

#2

السلام عليكم ورحمة الله وبركاته :

Declare @Command  Nvarchar(4000) , @Directory Nvarchar(4000)

Select @Directory = 'C:\MyFolder\' ,  @Command = 'MD ' + @Directory 
Exec Master..Xp_CmdShell @Command

بالتوفيق ..

تم تعديل هذه المشاركة بواسطة imadouzoun في 14 أغسطس 2007 في 13:58

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#3

الامر يزبط فقط اذا كان التنفيذ على الجهاز local

انا اريده ينفذ على جهاز السيرفر وشكرا

#4

لازم يكون معاك صلاحيات على السيرفر اي لازم تكون في sysadmin .

طبعا مايكروسوفت عملت تعقيدات على هذا الامر بعد استغلاله في sql 2000 من قبل فايروس worm الذي كان يعمل بطء في الشبكة وما الى ذلك ونزلت sql 2000 sp3

#5

نعم معي صلاحيات كاملة على النظام اود الاتصال على السيرفر 10.10.10.90 عادي يتصل

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

#6

لا يكفي الاتصال بل قصدت كصلاحيات في sql server او ان تكون داخل ك sa

بمعنى اخر ادخل على management studio ثم security --> logins

ثم على خصائص اسم المستخدم الذي تدخل به حيث يوجد server role ويجب ان يكون هناك موضوع صح على sysadmins

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

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
كود الاخ عماد  هنا 

ثم تعطيل الامر مرة اخرى

go

EXEC sp_configure 'xp_cmdshell', 0;
GO
RECONFIGURE;
GO
#7

انا معي كامل الصلاحيات

انا استخدم windows authontication

والكود يزبط فقط على الجهاز المحلي اي لا ينشئ اي ملفات على الجهاز المتصل عليه . بل ينشئها على الجهاز المحلي/// اما السيرفر فلا ينفذ عليه اي شئ ولا يظهر المجلد على جهاز السيرفر بل يظهر على جهاااااازي المحلي...... فقط على الجهاز المحلي.

با

#8

لم يكن هذا الامر واضحا بالنسبة لي بهذا الشكل

للتنفيذ على السيرفر عليك بالبروسيجر

create procedure  u_MD

as Declare @Command  Nvarchar(4000) , @Directory Nvarchar(4000)

Select @Directory = 'C:\MyFolder\' ,  @Command = 'MD ' + @Directory
Exec Master..Xp_CmdShell @Command

go

--وبعد  ذلك    نفذ هذا البروسيجر  

 exec u_MD

طبعا يمكنك تمرير اسم المجلد وما الى ذلك لكن لاختصار الوقت لم افعل ذلك

#9

شكرا جزيلا الله يحييك

جاري التجريب :)

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

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