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

كيف يمكن الوصول لقاعدة البيانات SQLServer عن طريق الملفين xyz.mdf وxyz.ldf

بدأه عبد الله ساعاتي في 26 سبتمبر 2010 · 14 رد · 1,959 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا عملت برنامج يتعامل مع داتا بيز موجود على سيرفر (SP00) واستخدمت هذا connection string

string s = "Data Source=SP00;Initial Catalog=khData2010;Persist Security Info=True;User ID=SA;Password=12345";

والان علمت Attach لداتا بيز ونسخت الملف .mdf والملف .ldf الى جهاز كمبيوتر اخر لستخدمها فقط على هذا الجهازونسختها في الملف Program Files

استخدمت هذا الكنكشن

string s = "data source=C:\\Program Files\\HTData_V61.mdf;Persist Security Info=True;User ID=SA;Password=12345";

لكن لا يعمل بشكل صحيح

ف ماهو connection string الصحيح ؟؟

وجزاكم الله خير

تم تعديل هذه المشاركة بواسطة عبد الله ساعاتي في 26 سبتمبر 2010 في 13:03

#2

وعليكم السلام أخي علي

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

يعني إذا كنت تستخدم SQLSERVER 2005 فاسم Instance يكونComputerName/MSSQLSERVER وعليك ان تكتب الكونكشن كمايلي

string s = "Data Source=.\MSSQLSERVER;Initial Catalog=khData2010;Persist Security Info=True;User ID=SA;Password=12345";

جرب وان شاء الله تعمل معاك

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#3

في شي مو واضح؟

#4
was_hal كتب:

وعليكم السلام أخي علي

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

يعني إذا كنت تستخدم SQLSERVER 2005 فاسم Instance يكونComputerName/MSSQLSERVER وعليك ان تكتب الكونكشن كمايلي

string s = "Data Source=.\MSSQLSERVER;Initial Catalog=khData2010;Persist Security Info=True;User ID=SA;Password=12345";

جرب وان شاء الله تعمل معاك

بالتوفيق

السلام عليكم

للاسف لا يعمل

اعتقد ان الامر بسيط بس يحتاج الى خبره

اخي انا استخدم sql server 2000 ولا اريد تنصيبه على جهاز العميل فقمت بعمل attach لداتا بيز من ف انتجدت هذا الملف .mdf وقمت بنسخه( بفلاش ممري) الى جهاز اخر

فهل يمكن الستعلام منه ؟ دون الحاجه لتنصيب sql

شوف معي وانا ابحث وجت Server=myServerName\theInstanceName ما هوا ال instance ?

وان شاء الله نوصل لحل بصراحه الموضوع مستعجل ولكم جزيل الشكر

واذا يحتاج الموضوع لنقل الى قسم sql server فأتمنى من المشرفين

#5

انا اول ما تعلمت الربط على sql كان منزل على جهاز windows server 2003 ماعندي اي خلفيه لو كان الربط local وهل ضروري تنصيب الـ sql ام اكتفي بنسخ الملفين الناتجين من الـ attach

ارجو ممن لديه الخبره المساعده بأسرع وقت

الموضوع بسيط جداً اتوقع ..

استخدمت هذا

SqlConnectionStringBuilder cnStrBuilder = new SqlConnectionStringBuilder();

cnStrBuilder.InitialCatalog = "Employee";

cnStrBuilder.DataSource = @"(local)\SQLEXPRESS";

cnStrBuilder.ConnectTimeout = 30;

cnStrBuilder.Password = "124";

cnStrBuilder.UserID = "Ahmed";

SqlConnection cn = new SqlConnection();

cn.ConnectionString = cnStrBuilder.ConnectionString;

cn.Open();

لكن لا يستجيب هل لاني استخدم sql server 2000 ؟

تم تعديل هذه المشاركة بواسطة عبد الله ساعاتي في 28 سبتمبر 2010 في 17:03

#6
عبد الله ساعاتي كتب:

انا اول ما تعلمت الربط على sql كان منزل على جهاز windows server 2003 ماعندي اي خلفيه لو كان الربط local وهل ضروري تنصيب الـ sql ام اكتفي بنسخ الملفين الناتجين من الـ attach

ارجو ممن لديه الخبره المساعده بأسرع وقت

الموضوع بسيط جداً اتوقع ..

استخدمت هذا

SqlConnectionStringBuilder cnStrBuilder = new SqlConnectionStringBuilder();

cnStrBuilder.InitialCatalog = "Employee";

cnStrBuilder.DataSource = @"(local)\SQLEXPRESS";

cnStrBuilder.ConnectTimeout = 30;

cnStrBuilder.Password = "124";

cnStrBuilder.UserID = "Ahmed";

SqlConnection cn = new SqlConnection();

cn.ConnectionString = cnStrBuilder.ConnectionString;

cn.Open();

لكن لا يستجيب هل لاني استخدم sql server 2000 ؟

أخي عبد الله

طبعا لن يستجيب لو جربته على كل الاجهزة

أخي لا بد من ان يكون احد مخدمات قواعد البيانات منصب على الجهاز كيف تريد ان تستعلم دون وجود DBMS (Data Base Management System

يمكن عمل Attach فقط مع مخدم SQLExpress ولكن أعتقد ان تكون قاعدة البيانات من نوع SQLServer 2005

SQL Express مجاني ويمكنك تنصيبه على جهاز العميل بكل سهولة

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

وبجملة الاستعلام نفسها يمكنك ان تستعلم من اي جهاز عن طريق الشبكة

ارجو ان تكون اتضحت الصورة

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#7

نعم أخي يجب تنصيب SQL Server على الجهاز الجديد و من ثم عمل attach للملفين لتكوين قاعدة البيانات على الجهاز الجديد, و في ال connection string يجب الاشارة إلى اسم الجهاز الجديد كما ذكر الأخ: was_hal

#8

اشكركم جميعاً هوا يوجد به sql كما في الصوره

ويعمل عليه برنامج مربوط بهذا sql غير برنامجي وانا اريد نفس الـ sql

فهما هوا الـ connection string التي اضعها ويعمل علماً بأن الداتا بيز هيا sql server 2000

ان شاء الله يكون هذا الاستفسار مفيد لغيري

لما اضع هذا الكنكشن string s = "Data Source=SP11;Initial Catalog=HTData_V61;Persist Security Info=True;User ID=SA;Password=12345";

بيعطنش هذا الخطا : login failed for user 'SA' Reason; Not associated with a trusted SQL Server connection

ماذا يعني

post-172725-020252700 1285743175_thumb.j

المرفقات
sp11MSSQLServer.JPG

تم تعديل هذه المشاركة بواسطة عبد الله ساعاتي في 29 سبتمبر 2010 في 10:07

#9

خلاصت الموضوع :

اسم السرفر SP00 ومنزل عليه sql server 2000 وتوجد به داتا بيز اسمها khData2010 ويوزر sa وباسورد 12345 واستخدمت معها هذا الكنكشن وكان يعمل

string s = "Data Source=SP00;Initial Catalog=khData2010;Persist Security Info=True;User ID=SA;Password=12345";

انا دخلت على sql server 2000 وكلك يمين على الداتابيز وعملت Attach انتجدت ملفين khData2010.mdf والثاني khData2010.ldf نسخت الملفين الى الجهاز SP13

والصقتهم في ملف Debug للمشروع والجهاز يوجد عليه sql كما في الصوره في المشاركه السابقه وغيرت الكنكشن ليصبح

string s = "Data Source=SP13;Initial Catalog=khData2010;Persist Security Info=True;User ID=SA;Password=12345";

ولكن بيعطني الخطأ

login failed for user 'SA' Reason; Not associated with a trusted SQL Server connection

ارجوا المساعدة وشكراً

#10

Up :sad:

#11

السلام عليكم

سبب الخطأ ان المستخدم SA غير مفعل لتفعيله :

ادخل على SSMS او Enterprise manager وعلى خصائص السيرفر Properties ثم على Security وستجد هناك server authentication فاختر الخيار SQL & windows auth .

بعد ذلك يجب ان تضع كلمة مرور للمستخدم Sa .

واعتذر عن الاختصار والسبب ان السؤال مكرر لكن ارجو ان تتمكن من اتمام الخطوان .

#12
TareqVB كتب:

السلام عليكم

سبب الخطأ ان المستخدم SA غير مفعل لتفعيله :

ادخل على SSMS او Enterprise manager وعلى خصائص السيرفر Properties ثم على Security وستجد هناك server authentication فاختر الخيار SQL & windows auth .

بعد ذلك يجب ان تضع كلمة مرور للمستخدم Sa .

واعتذر عن الاختصار والسبب ان السؤال مكرر لكن ارجو ان تتمكن من اتمام الخطوان .

مختاره من قبل عمل الAttach وتوجد كلمة سر ( لو تلاحظ connection string في اخر رد لدي )

اما ان كان قصدك بعد نقل الملفين على الجهاز الاخر SP13 فهو لا يوجده به Enterprise manager

وانا لا اريد تثبيت sql server 2000 على الجهاز بكامل

تم تعديل هذه المشاركة بواسطة عبد الله ساعاتي في 2 أكتوبر 2010 في 09:12

#13
اقتباس
وانا لا اريد تثبيت sql server 2000 على الجهاز بكامل

لن تعمل القاعدة الا بوجود السيرفر .

لكن من الممكن وضغ القاعدة على جهاز آخر بوجود السيرفر والاتصال بها من اجهزة اخرى .

لذا ارجو ان توضح مالذي تنوي عمله حتى نستطيع المساعدة اكثر .

#14
TareqVB كتب:

السلام عليكم

سبب الخطأ ان المستخدم SA غير مفعل لتفعيله :

ادخل على SSMS او Enterprise manager وعلى خصائص السيرفر Properties ثم على Security وستجد هناك server authentication فاختر الخيار SQL & windows auth .

بعد ذلك يجب ان تضع كلمة مرور للمستخدم Sa .

واعتذر عن الاختصار والسبب ان السؤال مكرر لكن ارجو ان تتمكن من اتمام الخطوان .

عودة متأخرة لفهمي للموضوع في وقت متاخر

استاذ طارق تم تغير الـ server authentication واغيرها من windows only الى sql server and windows

ولكن عندما اريد انشاء كلمة sa واضع لها الباسورد 12345 يعطين الخطا

Error 15405: Cannot use the reserved user or role name 'sa'.

وايضاً لو خليتها على System account ومسحت الويز والباسورد من الكنكشن

هكذا

"Data Source=(local);Initial Catalog=khData2010;Persist Security Info=True;User ID=;Password=";

نفس رسالة الخطا الاوله

login failed for user 'null' Reason; Not associated with a trusted SQL Server connection

ما الحل يا جماعة الخير ؟

تم تعديل هذه المشاركة بواسطة عبد الله ساعاتي في 19 ديسمبر 2010 في 14:35

#15

تم حل المشكلة بهذا الكنكشن استرينج Connection String

string s = "Data Source=(local);Initial Catalog=khData2010;Integrated Security=True";

بعد ما تدخل على SSMS او Enterprise manager وعلى خصائص السيرفر Properties ثم على Security وستجد هناك server authentication

وجعلها SQL server and windows

و الـ

Start service account

على

System account

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

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

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

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

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