سؤال

أواجه مشكلة مع DB2. لقد قمت للتو بتثبيت DB2 باعتباره DB2Admin ومع كلمة المرور. عندما أحاول الاتصال بقاعدة البيانات ، يكون النجاح ممتلئًا وأثناء تشغيل أي استعلام بسيط ، فإنه يعطيني خطأً يتبع:-

خطأ DB2 SQL: SQLCODE = -204 ، SQLSTATE = 42704 ، SQLERRMC = DB2ADMIN.LOGIN ، برنامج التشغيل = 3.57.82

لدي قاعدة بيانات تدعى ONP وجدول فيه يسمى "تسجيل الدخول" الذي يوجد فيه جدول واحد يسمى "تسجيل الدخول" مع اسم مستخدم وكلمة مرور في مجالان.

الاستعلام الذي أقوم بتشغيله

  1. حدد * من تسجيل الدخول ؛ يعطيني خطأ

خطأ DB2 SQL: SQLCODE = -204 ، SQLSTATE = 42704 ، SQLERRMC = DB2ADMIN.LOGIN ، برنامج التشغيل = 3.57.82

  1. حدد * من system.login ؛ يعطيني خطأ:- (// النظام هو اسم المخطط)

خطأ DB2 SQL: SQLCODE = -551 ، SQLSTATE = 42501 ، SQLERRMC = DB2ADMIN ؛ SELECT ؛ SYSTEM.LOGIN ، DRIVER = 3.57.82

لقد جربت كل الموارد على الشبكة واستنفدت تمامًا. الرجاء مساعدتي

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

المحلول

لا أعرف الكثير عن DB2 ، لكن البحث عن رموز الخطأ ...

الخطأ الأول هو أنك لم تحدد مخططًا ، لذلك لم تتمكن من العثور على جدول تسجيل الدخول.

كائن SQLCode -204 غير محدد إلى DB2

من الواضح أن DB2 يتطلب منك تحديد اسم المخطط أو يبدو في المخطط بنفس اسم مستخدم تسجيل الدخول الخاص بك.

عليك أن تستعمل SET SCHEMA أو تأهيل بالكامل اسم الجدول.

الخطأ الثاني هو أنه ليس لديك امتيازات لإجراء هذا الاختيار:

SQLCode -551 ، خطأ: ليس لديه امتياز لإجراء العملية على الكائن

لست متأكدًا من سبب عدم قدرة مستخدم DB2Admin على الاختيار من هذا الجدول ...

موارد:
قائمة DB2 SQLCODES

نصائح أخرى

حدث رمز SQL 551 لأن المستخدم المتواصل ليس لديه امتيازات لأداء العمليات.

انتقل إلى مركز التحكم - انتقل إلى مجموعة المستخدمين والكائن وحدد DB2Admin (افترض أن هذا المستخدم هو الاستخدام للاتصال بـ DB2)

enter image description here

حدد كل خانة الاختيار حسب ما يلي

enter image description here

منح مخطط الوصول إلى المستخدمenter image description here

منح الجداول الوصول إلى المستخدمenter image description here

يمكنك أيضًا حل المشكلة على النحو التالي:

ما عليك سوى إعطاء السلطة المناسبة للمستخدم الذي تتواصل به بـ DB2.

واجهت نفس المشكلة وحلها عن طريق إضافة مخطط في كياني:

@Entity
@Table(name="MyTable", schema="MySchemaName")
public class MyClass implements Serializable {
...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top