logo

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
abdelmoniem ismail لا تميز خلال هذه الفترة-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة توزيع المعلمين في جدول الحصص حسب النصاب بشروط اكسيل مشاريع جاهزه



أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





24-01-2018 02:30 مساءً
معلومات الكاتب ▼
تاريخ الإنضمام : 26-08-2017
رقم العضوية : 194
المشاركات : 387
الدولة : مصر
الجنس :
تاريخ الميلاد : 15-2-1986
الدعوات : 2
قوة السمعة : 2972
الاعجاب : 4
موقعي : زيارة موقعي

بناء طلب العضو رمضان بكري سوف نتحدث اليوم عن كيفية تصدير البيانات من ملف إكسل (Excel) إلى قواعد بيانات (MS SQL Server) ولكن قبل أن نبدء هنالك قواعد يجب أن تتبع

• يجب أن تضع عناوين (Header) للبيانات التي لديك في الصف الأول بمعنى أخر يجب أن تكون لديك أعمدة ذات أسماء كما هو موضح في الصور التالية

imort_excel_to_sql_server1

imort_excel_to_sql_server2

• يجب أن تقوم بتصميم جدول في قاعدة بيانات (SQL Server) بنفس الأسماء إذا أردت (غير ضروري) مع إختيار أنواع البيانات المناسبة (Data Type) مثلا (int,varchar2,numeric…). مع أهمية الترتيب في تصميم الأعمدة فكما ترى في الأعلى لدينا ملف أكسل يحتوي على عمود إسمه (ID) وعمود أخر إسمه (Name).إذا عند تصميم الجدول تنشيء عمود إسم (ID) ثم عمود أخر إسمه (Name) على التوالي.

والان بعد أن رأينا القواعد نأتي الان الى صلب الموضوع وهو كيف يمكن كتابة شفرة (Code) لنقل الملفات

حتى نسهل الموضوع سوف أضع الشفرة على أجزاء بخطوات

اولا نضع معلومات الخاصة بنص الإتصال (Connection String) في متغير نصي

CODE
<br /> string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:xlsExcelFile.xls ;Extended Properties=Excel 8.0";<br /> 

طبعا هذه المعلومات ثابتة ماعدا جزئية مسار ملف الاكسل يجب عليك تغيرها الى مسار ملفك

ثانيا قم بالإتصال بقاعدة البيانات عن طريق إستخدام (OleDbConnection) وقم بإرسال نص الإتصال إليه

CODE
<br /> <br /> using (OleDbConnection connection =<br /> new OleDbConnection(excelConnectionString))<br /> {<br /> 

ثالثا قم بإنشاء كائن من نوع (OleDbCommand) واكتب إستعلام الإختيار (Select Statment) وايضا حدد له كائن الإتصال كالتالي

CODE
<br /> OleDbCommand command = new OleDbCommand<br /> ("Select * FROM [Sheet1$]", connection);<br /> 

لاحظ معي جملة الإتصال ولاحظ أن إسم الجدول هو إسم الورقة (Sheet) طبعا يمكنك تغيره من ملف إكسل ولاحظ أيظا أنك يجب أن تتبعها مباشرة وبدون فواصل رمز الدولار($)

رابعا قم بفتح الإتصال

CODE
<br /> connection.Open();<br /> 

خامسا قم بتنفيذ الإستعلام بإستخدام الدالة ExecuteReader

CODE
<br /> using (DbDataReader reader = command.ExecuteReader())<br /> {<br /> 

الأن فإن جميع البيانات الموجودة في ملف إكسل تم تصديرها وأصبحت موجودة في كائن من نوع (DbDataReader)

بعد أن قمنا بتصدير البيانات وإسنادها يأتي الان العمل على جزئية قواعد بيانات (SQL SERVER)

أولا نضع معلومات الخاصة بنص الإتصال (Connection String) في متغير نصي

CODE
<br /> string sqlConnectionString = "Data Source=Your DataSource;Initial Catalog=Your DataBase;Integrated Security=True";<br /> 

لاحظ معي أنه يجب أن تكتب إسم مصدر البيانات ( DataSource) بعد ذلك إسم قاعدة البيانات (Initial Catalog)

ثانيا إستخدام كائن من نوع (SqlBulkCopy) والغرض من ذلك أن هذا الكائن(object) يقوم بنقلة كتلة (Bulk) من البيانات من مصدر إلى مصدرأخر بطريقة فعالة جدا جدا خاصة إذا كان حجم البيانات كبير جدا ونقوم بارسال نص الإتصال إليه كالتالي.

CODE
<br /> using (SqlBulkCopy bulkCopy = &nbsp;new SqlBulkCopy(sqlConnectionString))<br /> {<br /> 

ثالثا نستخدم خاصية (DestinationTableName) والتي من خلالها نحدد إسم الجدول الذي نريد أن نصدر إليه البيانات في قاعدة بيانات MS SQL SERVER

CODE
<br /> bulkCopy.DestinationTableName = "Table Name";<br /> 

رابعا واخير نقوم بإستخدام دالة (WriteToServer) والتي تقوم بكتابة البيانات الي المصدر ونرسل لها الكائن من نوع DbDataReader

CODE
<br /> bulkCopy.WriteToServer(dr);<br /> <br /> <br /> <br /> <br /> <br /> bulkCopy.WriteToServer(reader);<br /> // Connection String to Excel Workbook<br /> string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=! ;Extended Properties=Excel 8.0<br /> <br /> // Create Connection to Excel Workbook<br /> using (OleDbConnection connection =<br /> new OleDbConnection(excelConnectionString))<br /> {<br /> OleDbCommand command = new OleDbCommand<br /> ("Select * FROM [Sheet1$]", connection);<br /> <br /> connection.Open();<br /> <br /> // Create DbDataReader to Data Worksheet<br /> using (DbDataReader dr = command.ExecuteReader())<br /> {<br /> // SQL Server Connection String<br /> string sqlConnectionString = "Data Source=!;Initial Catalog=!;Integrated Security=True";<br /> <br /> // Bulk Copy to SQL Server<br /> using (SqlBulkCopy bulkCopy =<br /> new SqlBulkCopy(sqlConnectionString))<br /> {<br /> bulkCopy.DestinationTableName = "!";<br /> bulkCopy.WriteToServer(dr);<br /> }<br /> }<br /> }<br /> 

لاحظ معي أن أي شيء وضعت عليه علامة (!) تحتاج إلى تغيره إذا أردت أن يتنفذ البرنامج في جهازك

الفائدة الحقيقة

قد يسئل البعض مالذي سوف أستفيده من توريد البيانات من ملف إكسل الى قواعد البيانات ولكي أجيبك عن هذا التساؤل سوف أضح لك حالات حقيقية ( Real Cases)

الحالة الأولى تحويل البيانات من قاعدة بيانات إلى قاعدة بيانات (SQL SERVER)

الأن تخيل لو أن لديك قاعدة بيانات (Oracle,Sybase,MySql..etc) وتريد أن تحول البيانات من قواعد البيانات السابقة الى قاعدة بيانات (SQL SERVER) بناء على قرارات إدارية ماذا سوف تفعل .

طبعا هنالك أدوات تحويل ومن هذه الأدوات (SQL Server Integration Services (SSIS ولكن في بعض الحالات وهي كثيرة جدا لايمكن نقل البيانات على الأقل كليا فقد تجد أن بعضها تم نقله والبعض الأخر لم يتم نقله.فأفضل حل في هذه الحالة هو أن تقوم بتصدير (Export) جميع البيانات إلى ملف ومن ملف إكسل تقوم بتوريدها (Import) إلى قواعد بيانات (SQL SERVER) طبعا معظم المحررات (Editors) الخاصة بقواعد البيانات مثل برنامج (Toad) وغيرها الكثير لديها إمكانية توريد إلى إكسل (Export to Excel).

الحالة الثانية

تخيل معي لو أنك في منظمة وأرادو منك بناء نظام له علاقة بقواعد البيانات ولايوجد لديهم قواعد بيانات بعد وكل البيانات لديهم يتم تخزينها في ملفات إكسل فطبعا سوف تستخدم هذه الطريقة بلاشك رابط الموضوع(منقول)

http://www.dotnetfinder.wordpress.com/





look/images/icons/i1.gif تصدير البيانات من ملف إكسل إلى قواعد بيانات SQL SERVER
  24-01-2018 03:27 مساءً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 1
المشاركات : 1332
الجنس :
الدعوات : 13
قوة السمعة : 10064
الاعجاب : 66
موقعي : زيارة موقعي
مشكور وجزاكم الله خيرا
142



توقيع :Yasser Elaraby
663013020

look/images/icons/i1.gif تصدير البيانات من ملف إكسل إلى قواعد بيانات SQL SERVER
  24-01-2018 04:08 مساءً   [2]
معلومات الكاتب ▼
تاريخ الإنضمام : 26-08-2017
رقم العضوية : 153
المشاركات : 442
الجنس :
تاريخ الميلاد : 9-7-1981
الدعوات : 4
قوة السمعة : 1792
الاعجاب : 1

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





look/images/icons/i1.gif تصدير البيانات من ملف إكسل إلى قواعد بيانات SQL SERVER
  27-01-2018 12:00 صباحاً   [3]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36752
الاعجاب : 184
بارك الله فيك أخي العزيز عبد الجيد
لو لديك خلفية جيدة بالـ SQL لما لا تفرد موضوع للمبتدئين لهذا الموضوع ، لأنه سيفيد الكثير من الأعضاء بلا شك
تقبل تحياتي




look/images/icons/i1.gif تصدير البيانات من ملف إكسل إلى قواعد بيانات SQL SERVER
  03-04-2019 05:53 مساءً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 24-08-2017
رقم العضوية : 84
المشاركات : 245
الجنس :
تاريخ الميلاد : 24-9-1981
الدعوات : 1
قوة السمعة : 350
الاعجاب : 6
المشاركة الأصلية كتبت بواسطة: YasserKhalil بارك الله فيك أخي العزيز عبد الجيد
لو لديك خلفية جيدة بالـ SQL لما لا تفرد موضوع للمبتدئين لهذا الموضوع ، لأنه سيفيد الكثير من الأعضاء بلا شك
تقبل تحياتي
فعلا اخى ياسر
فى انتظار الرد من الاخ
عبد الجيد



توقيع :EM_ACC
إبراهيم أبوليله

اضافة رد جديد اضافة موضوع جديد



المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
دوره متكامله في الأكسس من خلال مشروع عملي شرح و تحليل قاعدة البيانات بكار للأبد
34 6598 alilo
كود بحث مطاطي بأي جزء من البيانات علي بطيخ سالم
11 1995 star
تموذج ترحيل وبحث وتعديل على البيانات مالك ماريه
147 12660 sharawee707
ترحيل بيانات من خلايا مختلفه من ملفات الى ملف واحد مع كتابة الملاحظات التى تخص ترحيل البيانات Lotfy
7 281 YasserKhalil
مشكلة كود حفظ تعديل البيانات في اليوزرفورم شبل
1 434 شبل

الكلمات الدلالية
تصدير ، البيانات ، إكسل ، قواعد ، بيانات ، SERVER ،









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

الساعة الآن 11:40 AM