سؤال

نحن نقوم بتشغيل جزء من تطبيقنا كخدمة Windows ويجب أن يكون قادرًا على الوصول إلى DSNs من أجل الاستيراد من خلال ODBC.ومع ذلك، يبدو أن هناك الكثير من القيود التي تم العثور عليها من خلال التجربة والخطأ فيما يتعلق بشبكات DSN التي يمكنه الوصول إليها.على سبيل المثال ، يبدو أنه لا يمكن 1.الوصول إلى نظام DSN ما لم يكن الحساب الذي يقوم بتشغيل الخدمة يتمتع بامتيازات المسؤول.(أحصل على خطأ تم رفض الوصول ، عند محاولة الاتصال) 2.الوصول إلى DSN الخاص بالمستخدم الذي تم إنشاؤه بواسطة مستخدم مختلف (هذا أمر مفهوم).3.الوصول إلى ملف DSN عبر الشبكة

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

فهل يعرف أحد، أو يعرف أين يمكنني معرفة جميع القواعد والقيود المفروضة على الوصول إلى DSN عند استخدام خدمة Windows.شكرًا

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

المحلول

هذا في مكان ما بين رقم 1 ورقم 2:في بعض الأحيان تكون أذونات الملف الصحيحة ضرورية أيضًا.لقد واجهت ذات مرة مشاكل في جهاز يعمل بنظام Vista أثناء الاتصال بـ DB2 DSN لأنه، لأي سبب كان (ربما لكتابة ملفات مؤقتة؛على الرغم من أنني لا أعرف لماذا يفعل شيئًا كهذا في هذا الموقع بدلاً من موقع خاص بالمستخدم)، يحتاج برنامج التشغيل إلى الوصول للكتابة إلى الدليل حيث قامت شركة IBM بتثبيت الثنائيات والمكتبات الخاصة بالعميل، وهو ما تم تنفيذه بواسطة المسؤول وكان في جذر محرك الأقراص C.

نصائح أخرى

أعتقد أنك قد اكتشفت بالفعل القواعد الثلاثة الرئيسية بنفسك.:-)

باستثناء أنك ربما لا تحتاج إلى امتيازات المسؤول لحساب الخدمة الخاص بك.IANANA (أنا لست مسؤول شبكة)، ولكن ربما يحتاج حساب الخدمة الخاص بك فقط إلى الوصول للقراءة إلى أحد ملفات أو أدلة ODBC.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top