سؤال

والعنوان إلى حد كبير يقول كل شيء. أريد أن إنشاء SqlConnection ومن ثم تحقق هذا الصدد دون فتح قاعدة بيانات، والسبب في هذه النقطة أنا لا أعرف حتى الآن أين أنا سيتصل. هل من الممكن أن تفعل ذلك؟ الطبقة SqlConnection لديها أعضاء 'فتح' الذي يحاول فتح قاعدة البيانات التي كنت قد تعيينها في الخاصية قاعدة البيانات، وإذا لم يتم تعيين واحد، SQLSERVER يحاول مع ديسيبل الرئيسي. الشيء هو المستخدم أحاول التواصل مع (MACHINE \ ASPNET) لديه حق الوصول إلى بعض قواعد البيانات (التي لا نعرف حتى الآن) وليس ديسيبل الرئيسية.

والتحيات، سيبا

هل كانت مفيدة؟

المحلول

والاتصال ديسيبل درجة الحرارة. كل شخص لديه accecss إلى بيانات tempdp لذلك سوف تكون قادرة على مصادقة نفسك للوصول. في وقت لاحق عندما تعلم قاعدة البيانات الفعلية، يمكنك تغيير هذه الخاصية للاتصال ديسيبل تريد.

نصائح أخرى

وأنا لست متأكدا إذا كان هذا هو ما تحتاجه.

تحقق

إذا كان المستخدم لديه حق الوصول إلى قاعدة بيانات في SQL Server 2005

SELECT HAS_DBACCESS('Northwind');

وHAS_DBACCESS بإرجاع معلومات حول ما إذا كان المستخدم لديه حق الوصول إلى قاعدة البيانات المحددة (BOL).

والبحث عن قواعد البيانات التي المستخدم الحالي لديه حق الوصول إلى

SELECT [Name] as DatabaseName from master.dbo.sysdatabases
WHERE ISNULL(HAS_DBACCESS ([Name]),0)=1
ORDER BY [Name]

إذا كنت بحاجة إلى معرفة فقط إذا كانت الخدمة النشطة، قد حاولت connet عبر مأخذ إلى الميناء، لمعرفة ما إذا كان مفتوحا

وفقط غريبة ... ما هي المعلومات التي سوف تكون قادرة على التحقق مما إذا كنت لا تعرف قاعدة بيانات دقيقة تحتاج للاتصال؟ أن الكثير من الامور التي يمكن ان تذهب الخطأ مع قاعدة البيانات "حقيقي" يكون غير قابل للفحص من هذا النوع من اختبار الاتصال، مثل الاتصال أو أمنية.

وأنا لا أعرف ما إذا كنت حصلت على إجاباتك ولكن بما أننا جميعا أن ننظر هنا للحصول على إجابات آمل أن يكون هذا هو ما كنت تبحث عنه

dim con as new sqlconnection
con.connectionstring="<<put your conn string here>>"
'try...catch block fires exception if the con is not successfully opened
try
con.open()
catch ex as exception
msgbox ex.message
end try
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top