الاتصال بقاعدة بيانات Oracle باستخدام CX_ORACLE على Python

StackOverflow https://stackoverflow.com/questions/4347261

  •  30-09-2019
  •  | 
  •  

سؤال

أنا باستخدام Debian 5 ، Python 2.5 مع تثبيت إصدار CX_ORACLE UNICODE. أحاول الاتصال باستخدام البرنامج النصي أدناه ولكن فشله

>>> connection = cx_Oracle.connect('hr/XXXXX@local_xe')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument 1 must be unicode, not str

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

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

المحلول 2

كان الحل لوضع ما يلي

cx_Oracle.connect(u'hr/XXXXX@local_xe')

الاتحاد الافريقي قبل السلسلة. لست متأكدًا من السبب ، لكن هذا حل المشكلة بالنسبة لي.

نصائح أخرى

يجب أن تحاول

cx_Oracle.connect(u'hr/XXXXX@local_xe')

نظرًا لأن لديك إصدار Unicode من CX_ORACLE ، فإنه يتوقع أن تكون سلسلة الاتصال بمثابة unicode (argument 1 must be unicode, not str)

وضع u'' أمام سلسلة يحولها إلى Unicode ، وبالتالي لا يرمي الخطأ.

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