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

أريد تحويل البرنامج من قاعدة بيانات أكسس الـ SQL Server

بدأه rami_cis في 9 أكتوبر 2012 · 6 رد · 6,341 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي برنامج بلغة الفيجول بيسك بقاعدة بيانات أكسس و أريد تحويلها SQL Server

ما الخطوات بالتفصيل ؟

وما هو أفضل إصدار SQL Sever أستخدمه ؟

وماذا أغير داخل الكود ؟

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

Set dbaseConn = New ADODB.Connection

dbaseConn.Provider = "Microsoft.Jet.OLEDB.4.0"

dbaseConn.Properties("Data Source") = "" & App.Path & "\Low.mdb"

dbaseConn.Properties("Jet OLEDB:Database Password") = "aa"

dbaseConn.Open

Form1.Show vbModall

تم تعديل هذه المشاركة بواسطة rami_cis في 9 أكتوبر 2012 في 22:32

#2

القضية لم تكن الربط مع قاعدة البيانات من أكسيس الي سيكوال

ولكن القضية هي سينتاكس قاعدة البيانات مختلفة كثيراً جداً ، خصوصاً في الـ Functions And Procedurs وبقية المواصفات !!!

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#3

السلام عليكم...

لا أعتقد أن الأمر بتلك الصعوبة! طالما أن الأمر يتعلق فقط بتحويل الجداول من Access إلى SQL Server (أعني أنك لا تريد نقل تقارير أو نوافذ مثلاً مضمنة في Access).

1. قم بتثبيت SQL Server. استعمل SQL Server 2005 أو SQL Server 2008 أو SQL Server 2008 R2 أو الأحدث.

2. من داخل SQL Server Management Studio قم باستيراد (Import) قاعدة بيانات Access سيتم الأمر خلال دقيقتين أو ثلاث.

3. إذا كانت لديك في Access حقول من النوع "تاريخ/وقت" (Date/Time) فإن عملية التحويل ستجعلها من النوع smalldatetime في SQL Server. قم بتغييرها يدوياً إلى النوع datetime.

* في Visual Basic:

1. إذا كانت لديك جمل SQL تتعامل مع حقول منطقية (نعم/لا أو Yes/No في Access، و تسمى bit في SQL Server) فإنك قد تحتاج إلى تعديل تلك الجمل لتستعمل 0 (صفر) بدل False و 1 (واحد) بدل True.

2. إذا كانت لديك جمل SQL تتعامل مع حقول تاريخ (Date/Time) فربما تحتاج إلى تعديلها حيث أن SQL Server لا يستعمل صيغة Access في التعبير عن التواريخ #mm/dd/yyyy# و لكنه يستعمل التعبيرات النصية المباشرة (المحصورة بين علامات اقتباس فردية) أو دوال التحويل.

3. بالنسبة إلى عملية الربط (الـ ConnectionString) فإنها سهلة حيث يمكنك الحصول على ConnectionString من خلال ربط مكون ADODC عن طريق Connection Wizard (النقر المزدوج على الخاصية ConnectionString).

ذلك كل شيء!

نرجو الاستفادة و السلام.

2

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#4
najy_zl كتب:

السلام عليكم...

لا أعتقد أن الأمر بتلك الصعوبة! طالما أن الأمر يتعلق فقط بتحويل الجداول من Access إلى SQL Server (أعني أنك لا تريد نقل تقارير أو نوافذ مثلاً مضمنة في Access).

1. قم بتثبيت SQL Server. استعمل SQL Server 2005 أو SQL Server 2008 أو SQL Server 2008 R2 أو الأحدث.

2. من داخل SQL Server Management Studio قم باستيراد (Import) قاعدة بيانات Access سيتم الأمر خلال دقيقتين أو ثلاث.

3. إذا كانت لديك في Access حقول من النوع "تاريخ/وقت" (Date/Time) فإن عملية التحويل ستجعلها من النوع smalldatetime في SQL Server. قم بتغييرها يدوياً إلى النوع datetime.

* في Visual Basic:

1. إذا كانت لديك جمل SQL تتعامل مع حقول منطقية (نعم/لا أو Yes/No في Access، و تسمى bit في SQL Server) فإنك قد تحتاج إلى تعديل تلك الجمل لتستعمل 0 (صفر) بدل False و 1 (واحد) بدل True.

2. إذا كانت لديك جمل SQL تتعامل مع حقول تاريخ (Date/Time) فربما تحتاج إلى تعديلها حيث أن SQL Server لا يستعمل صيغة Access في التعبير عن التواريخ #mm/dd/yyyy# و لكنه يستعمل التعبيرات النصية المباشرة (المحصورة بين علامات اقتباس فردية) أو دوال التحويل.

3. بالنسبة إلى عملية الربط (الـ ConnectionString) فإنها سهلة حيث يمكنك الحصول على ConnectionString من خلال ربط مكون ADODC عن طريق Connection Wizard (النقر المزدوج على الخاصية ConnectionString).

ذلك كل شيء!

نرجو الاستفادة و السلام.

شكرا لك أخي العزيز

إن البرنامج مثبت على السرفير و هناك 5 أجهزة نازل البرنامج عليها ... فماذا أغير على أيضا على الأجهزة أو هل ضروري أنزل ال SQL SERVER على جميع الأجهزة أيضا ؟؟؟؟؟

أرجو إيفادي أيضا

1-بخصوص النقطة الثانية في Visual Basic أرجو الشرح أكثر (يفضل إعطاء مثال)

2-ما هو ConnectionString بالكود العادي .

شكرا لك فائق الإحترام

تم تعديل هذه المشاركة بواسطة rami_cis في 10 أكتوبر 2012 في 15:25

#5
rami_cis كتب:

شكرا لك أخي العزيز

إن البرنامج مثبت على السرفير و هناك 5 أجهزة نازل البرنامج عليها ... فماذا أغير على أيضا على الأجهزة أو هل ضروري أنزل ال SQL SERVER على جميع الأجهزة أيضا ؟؟؟؟؟

أرجو إيفادي أيضا

1-بخصوص النقطة الثانية في Visual Basic أرجو الشرح أكثر (يفضل إعطاء مثال)

2-ما هو ConnectionString بالكود العادي .

شكرا لك فائق الإحترام

أخي najy_zl أنا في إنتظار ردك على الملاحظات الأخير

وجزاك الله تعالى كل خير

تم تعديل هذه المشاركة بواسطة rami_cis في 13 أكتوبر 2012 في 00:34

#6

يجب انزال السيكوال سيرفر كامل على الجهاز الرئيسى ( السيرفر ) اما باقى الاجهزة ( الكلاينت ) غير ضرورى انزال السيكوال سيرفر كامل ويكفى ان تقوم بانزال النسخة الاكسبريس من السيكوال سيرفر لاحتوائها على محرك قواعد بيانات السيكوال و هذا فقط ما نحتاج اليه

........

Connection String هو اسلوب الربط بين البرنامج المصمم بالفيجوال بيسيك و بين قاعدة البيانات لأى نظام لادارة قواعد البيانات وهى تستخدم مع الكائن ADO فى الوصول الى قاعدة البيانات و التعامل معها ويمكن ربطها بالكود العادى من داخل الفيجوال بيسيك

الأفكار العبقرية تأتي بالتعب و المجهود و الإلهام فيها لا يتعدى 1% ( أديسون )

#7

السلام عليكم...

كما قال أخونا Black_Tiger_2007 تحتاج لتركيب SQL Server فقط على الجهاز الرئيسي (حيث توجد قاعد البيانات) أما بقية الأجهزة فلا تحتاج إلى تركيب SQL Server.

بالنسبة إلى عملية الاتصال، توجد طريقتان:

1. باستعمال حساب ويندوز (Integrated Windows Authentication) و يكون الـ ConnectionString في هذه الحالة بالصيغة التالية:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DatabaseName;Data Source=ServerName

2. باستعمال حساب و كلمة مرور مسجل في SQL Server نفسه و يكون الـ ConnectionString في هذه الحالة بالصيغة التالية:

Provider=SQLOLEDB.1;Password=Password;Persist Security Info=True;User ID=UserName;Initial Catalog=DatabaseName;Data Source=ServerName

* في الحالتين: ServerName هو اسم الحاسوب الخادم (Server) حيث يوجد SQL Server، أما DatabaseName فهو اسم قاعدة البيانات.

* في الصيغة الثانية: UserName هو اسم المستخدم المسجل لدى SQL Server و Password هي كلمة المرور الخاصة بذلك المستخدم.

** الطريقة الأولى (استعمال حساب ويندوز) تحتاج إلى إنشاء حساب مستخدم في Windows على جهاز الـ Server، و يجب أن تكون له كلمة مرور. هذه الطريقة تحتاج إلى ضبط بعض الإعدادات في Windows و SQL Server. ابحث في المنتدى عن موضوع حول الاتصال بـ SQL Server باستخدام هذه الطريقة للأخ TareqVB حيث يحتوي الموضوع على مرفق PDF به شرح مفصل حول هذا الأمر.

** الطريقة الثانية تحتاج إلى إنشاء حساب دخول (Login) في SQL Server مع إعطائه الصلاحيات المناسبة.

== بخصوص التعامل مع التواريخ بالكود في VB: مثلاً إذا كنا نريد الحصول على سجلات ضمن تاريخ محدد فإننا نستعمل مع Access صيغة تشبه التالي:

SELECT * FROM mytable WHERE (mydate >= #11/25/2012#)

لاحظ كيف أن التاريخ محصور بين علامتي # و # (و الشهر قبل اليوم).

أما SQL Server فلا يستعمل هاتين العلامتين:

SELECT * FROM mytable WHERE (mydate >= '11/25/2012')

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

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