problem about cx_Oracle

Vincent phostu at gmail.com
Thu Jul 16 01:38:10 EDT 2009


On Jul 16, 12:18 pm, Vincent <pho... at gmail.com> wrote:
> hi, all:
>
> i am using cx_oracle now.
>
> i write code as below:
>
> def __getfields_by_tbname(self,tbname):
>         cursor = self.ora_db.cursor()
>         print tbname
>         sql = 'select * from %s where rownum <=2' % tbname
>         print sql
>         cursor = cursor.execute(sql)
>         return self.getfields(cursor)
>
> and i got a error, it's message is :
> JRYZCFZB_X_ZQY
> select * from JRYZCFZB_X_ZQY where rownum <=2
> Traceback (most recent call last):
>   File "<input>", line 1, in <module>
>   File "c:/vincent/wd/django/mysite/mysite\..\mysite\tools
> \data_convert.py", line 107, in convert
>     self.convert_table(tbname)
>   File "c:/vincent/wd/django/mysite/mysite\..\mysite\tools
> \data_convert.py", line 94, in convert_table
>     field_list = self.__getfields_by_tbname(tbname)
>   File "c:/vincent/wd/django/mysite/mysite\..\mysite\tools
> \data_convert.py", line 38, in __getfields_by_tbname
>     cursor = cursor.execute(sql)
> TypeError: expecting None or a string
>
> i'm sure the cursor instance is not None.
> could anybody give me sussgestion? i will apreciate it.
>
> vincent

i have the answer now.

the variant sql is unicode.

i neet to convert it to string.




More information about the Python-list mailing list