سؤال

أنا أؤيد حاليًا قاعدة بيانات Access MS التي ربطت الاتصالات باستخدام برنامج تشغيل Microsoft ODBC لـ Oracle. يمكنني الاتصال بجداول مرتبطة الحالية دون أي مشكلات ، لكننا مطلوبة لأسباب أمنية لتغيير كلمة المرور في الحساب الذي يصل إلى الخادم.

لقد قمت بتغيير كلمة المرور بنجاح ولكن الآن عندما أحاول إعادة ربط الجداول أحصل على الخطأ:

ODBC--call failed
Microsoft ODBC driver for ORacle ORA-12154: TNS could not resolve service name

هذه الجداول هي جزء من تطبيق حرج والآن لا يمكننا الاتصال. أي اقتراحات بشأن كيفية حل هذا؟

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

المحلول

يشير خطأ ORA-12154 إلى أنك تحدد الاسم المستعار TNS الذي لا يحل. هل تستخدم DSN لاتصالك إلى Oracle؟ إذا كان الأمر كذلك ، فما هو الاسم المستعار TNS الذي تحدده هناك؟ هل يوجد هذا الاسم المستعار في ملف tnsnames.ora الخاص بك؟ هل هناك ملفات متعددة tnsnames.ora على العميل؟

ملف tnsnames.ora موجود على جهاز العميل حيث يتم تثبيت الوصول. دون معرفة إصدار عميل Oracle الذي يتم تثبيته ، أبسط طريقة لمعرفة ملف tnsnames.ora الذي يتم استخدامه على الأرجح لفتح موجه DOS ونوعه "tnsping service_name"حيث` service_name "هو مهما تم تحديد اسم الاسم المستعار TNS في DSN الخاص بك. ستحصل على شيء مثل

C:\Users\jcave>tnsping fuddy_duddy

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 07-OCT-2
010 08:10:51

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Used parameter files:
C:\oracle\product\11.1.0\db_1\NETWORK\ADMIN\sqlnet.ora

TNS-03505: Failed to resolve name

يخبرك خط "ملفات المعلمة المستخدمة" بالدليل حيث يتم تخزين الملفات ذات الصلة TNS. يجب أن يكون هناك ملف tnsnames.ora وملف sqlnet.ora في هذا الدليل.

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