Closed GoogleCodeExporter closed 9 years ago
This is not due to setup script problem.
To resolve this you needs to follow following steps
1) Download and install IBM DS Driver from
https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&source=swg-
informixfpd
2) Export the following environment variables
export IBM_DB_LIB=<DS_DRIVER_PATH>/lib
export IBM_DB_DIR=<DS_DRIVER_PATH>
3) easy_install ibm_db
Original comment by rahul.pr...@in.ibm.com
on 12 Oct 2010 at 6:13
I downloaded the IBM Data Server Driver for ODBC and CLI version 9.5 for MAC OS
X 32 Bit
db2_driver_for_odbc_cli-32.tar.Z (14MB)
when I run easy_install ibm_db I get following errors:
....
ibm_db.c:8908: error: ‘SQL_ATTR_INFO_ACCTSTR’ undeclared (first use in this
function)
ibm_db.c:8909: error: ‘SQL_ATTR_INFO_APPLNAME’ undeclared (first use in
this function)
ibm_db.c:8913: error: ‘SQL_DBMS_NAME’ undeclared (first use in this
function)
ibm_db.c:8914: error: ‘SQL_DBMS_VER’ undeclared (first use in this function)
ibm_db.c:8918: error: ‘SQL_API_SQLROWCOUNT’ undeclared (first use in this
function)
lipo: can't open input file: /var/tmp//ccLyyi0E.out (No such file or directory)
error: Setup script exited with error: command 'gcc-4.2' failed with exit
status 1
Apparently I am missing something.
Original comment by vsrivas...@gmail.com
on 23 Nov 2010 at 3:54
Sorry for inconvenience, this error comes due to DS Driver version 9.5 for MAC
OS as it doesn't contain include directory. This directory is required as all
the header files reside under this directory.
I don't know another link to download DS Driver for MAC OS. I will ask DS
Driver folks over here about this issue and will let you know if found
something helpful.
For temporary solution you can download DS Driver of Linux 32 bit and copy
include directory from this to MAC OS DS Driver directory.
Original comment by rahul.pr...@in.ibm.com
on 23 Nov 2010 at 3:33
I downloaded the linux drivers. I can't find the include files anywhere:
These are the two files I have downloaded:
db2_driver_for_odbc_cli-32.tar.Z v9.5fp3_linuxia32_rtcl.tar.gz
are these the right files? Is it possible to build it on linux, I will give it
a shot on linux.
Original comment by vsrivas...@gmail.com
on 24 Nov 2010 at 1:06
What other alternatives are there to access Informix via django framework?
Original comment by vsrivas...@gmail.com
on 24 Nov 2010 at 1:17
v9.5fp3_linuxia32_rtcl.tar.gz is Data Server Runtime so, this one is not a
correct file you have downloaded.
you needs to download v9.5fp3_linuxia32_dsdriver.tar.gz for linux 32 bit DS
Driver.
db2_driver_for_odbc_cli-32.tar.Z is correct one which you have downloaded for
MAC OS.
If you want to give a shot from Linux then there is latest DS Driver available
on http://www-01.ibm.com/support/docview.wss?uid=swg24027908
Original comment by rahul.pr...@in.ibm.com
on 24 Nov 2010 at 1:55
[deleted comment]
we haven't run the Django regression suite with Informix, because we haven't
found time to spend on this yet. But the Django adapter relies on the
ibm_db_dbi wrapper which in turn depends on the ibm_db python driver, the
latter 2 which already support IDS.
we don't expect to see much issues if any with the Django to Informix.
you can access Informix through Linux or Window as a client.
Original comment by rahul.pr...@in.ibm.com
on 24 Nov 2010 at 2:33
I don't see any include folder in the v9.7fp3_25384_linuxia32_dsdriver.tar.gz
for linux and I am getting the same error as in comment 2. I have python 2.6 on
the ubuntu system. Would it be possible for you to outline what I need to
install as prerequisite to install ibm_db.
I am confused, because there is neither a lib folder nor a include folder. What
do I set the IBM_DB_DIR and IBM_DB_LIB to? Is there an easy_install or
equivalent script to do dependency resolution and install the relevant
libraries and header files?
I really appreciate your help. Here's the list of files that I have in the
dsdriver files:
|-- bin
| `-- clpplus
|-- installDSDriver
|-- java
| |-- db2jcc4.jar
| |-- db2jcc.jar
| |-- jdbc4_LI_br.rtf
| |-- jdbc4_LI_cn.rtf
| |-- jdbc4_LI_cs
| |-- jdbc4_LI_cz.rtf
| |-- jdbc4_LI_de
| |-- jdbc4_LI_de.rtf
| |-- jdbc4_LI_en
| |-- jdbc4_LI_en.rtf
| |-- jdbc4_LI_es
| |-- jdbc4_LI_es.rtf
| |-- jdbc4_LI_fr
| |-- jdbc4_LI_fr.rtf
| |-- jdbc4_LI_it
| |-- jdbc4_LI_it.rtf
| |-- jdbc4_LI_ja
| |-- jdbc4_LI_jp.rtf
| |-- jdbc4_LI_ko
| |-- jdbc4_LI_kr.rtf
| |-- jdbc4_LI_pl
| |-- jdbc4_LI_pl.rtf
| |-- jdbc4_LI_pt
| |-- jdbc4_LI_tr
| |-- jdbc4_LI_tr.rtf
| |-- jdbc4_LI_tw.rtf
| |-- jdbc4_LI_zh
| |-- jdbc4_LI_zh_TW
| |-- jdbc_LI_br.rtf
| |-- jdbc_LI_cn.rtf
| |-- jdbc_LI_cs
| |-- jdbc_LI_cz.rtf
| |-- jdbc_LI_de
| |-- jdbc_LI_de.rtf
| |-- jdbc_LI_en
| |-- jdbc_LI_en.rtf
| |-- jdbc_LI_es
| |-- jdbc_LI_es.rtf
| |-- jdbc_LI_fr
| |-- jdbc_LI_fr.rtf
| |-- jdbc_LI_it
| |-- jdbc_LI_it.rtf
| |-- jdbc_LI_ja
| |-- jdbc_LI_jp.rtf
| |-- jdbc_LI_ko
| |-- jdbc_LI_kr.rtf
| |-- jdbc_LI_pl
| |-- jdbc_LI_pl.rtf
| |-- jdbc_LI_pt
| |-- jdbc_LI_tr
| |-- jdbc_LI_tr.rtf
| |-- jdbc_LI_tw.rtf
| |-- jdbc_LI_zh
| |-- jdbc_LI_zh_TW
| |-- sqlj4.zip
| `-- sqlj.zip
|-- license
| |-- cs_CZ.iso88592
| | |-- dsdriver_LI_cs
| | |-- jdbc4_LI_cs
| | |-- jdbc_LI_cs
| | `-- odbc_LI_cs
| |-- cs_CZ.utf8
| | |-- dsdriver_LI_cs
| | |-- jdbc4_LI_cs
| | |-- jdbc_LI_cs
| | `-- odbc_LI_cs
| |-- de_DE.iso88591
| | |-- dsdriver_LI_de
| | |-- jdbc4_LI_de
| | |-- jdbc_LI_de
| | `-- odbc_LI_de
| |-- de_DE.utf8
| | |-- dsdriver_LI_de
| | |-- jdbc4_LI_de
| | |-- jdbc_LI_de
| | `-- odbc_LI_de
| |-- dsdriver_notices.txt
| |-- en_US.iso88591
| | |-- dsdriver_LI_en
| | |-- jdbc4_LI_en
| | |-- jdbc_LI_en
| | `-- odbc_LI_en
| |-- es_ES.iso88591
| | |-- dsdriver_LI_es
| | |-- jdbc4_LI_es
| | |-- jdbc_LI_es
| | `-- odbc_LI_es
| |-- es_ES.utf8
| | |-- dsdriver_LI_es
| | |-- jdbc4_LI_es
| | |-- jdbc_LI_es
| | `-- odbc_LI_es
| |-- fr_FR.iso88591
| | |-- dsdriver_LI_fr
| | |-- jdbc4_LI_fr
| | |-- jdbc_LI_fr
| | `-- odbc_LI_fr
| |-- fr_FR.utf8
| | |-- dsdriver_LI_fr
| | |-- jdbc4_LI_fr
| | |-- jdbc_LI_fr
| | `-- odbc_LI_fr
| |-- it_IT.iso88591
| | |-- dsdriver_LI_it
| | |-- jdbc4_LI_it
| | |-- jdbc_LI_it
| | `-- odbc_LI_it
| |-- it_IT.utf8
| | |-- dsdriver_LI_it
| | |-- jdbc4_LI_it
| | |-- jdbc_LI_it
| | `-- odbc_LI_it
| |-- ja_JP.eucJP
| | |-- dsdriver_LI_ja
| | |-- jdbc4_LI_ja
| | |-- jdbc_LI_ja
| | `-- odbc_LI_ja
| |-- ja_JP.sjis
| | |-- dsdriver_LI_ja
| | |-- jdbc4_LI_ja
| | |-- jdbc_LI_ja
| | `-- odbc_LI_ja
| |-- ja_JP.utf8
| | |-- dsdriver_LI_ja
| | |-- jdbc4_LI_ja
| | |-- jdbc_LI_ja
| | `-- odbc_LI_ja
| |-- ko_KR.eucKR
| | |-- dsdriver_LI_ko
| | |-- jdbc4_LI_ko
| | |-- jdbc_LI_ko
| | `-- odbc_LI_ko
| |-- ko_KR.utf8
| | |-- dsdriver_LI_ko
| | |-- jdbc4_LI_ko
| | |-- jdbc_LI_ko
| | `-- odbc_LI_ko
| |-- pl_PL.iso88592
| | |-- dsdriver_LI_pl
| | |-- jdbc4_LI_pl
| | |-- jdbc_LI_pl
| | `-- odbc_LI_pl
| |-- pl_PL.utf8
| | |-- dsdriver_LI_pl
| | |-- jdbc4_LI_pl
| | |-- jdbc_LI_pl
| | `-- odbc_LI_pl
| |-- pt_BR.iso88591
| | |-- dsdriver_LI_pt
| | |-- jdbc4_LI_pt
| | |-- jdbc_LI_pt
| | `-- odbc_LI_pt
| |-- pt_BR.utf8
| | |-- dsdriver_LI_pt
| | |-- jdbc4_LI_pt
| | |-- jdbc_LI_pt
| | `-- odbc_LI_pt
| |-- ru_RU.iso88595
| | |-- jdbc4_LI_ru
| | |-- jdbc_LI_ru
| | `-- odbc_LI_ru
| |-- ru_RU.koi8r
| | |-- jdbc4_LI_ru
| | |-- jdbc_LI_ru
| | `-- odbc_LI_ru
| |-- ru_RU.utf8
| | |-- jdbc4_LI_ru
| | |-- jdbc_LI_ru
| | `-- odbc_LI_ru
| |-- tr_TR.iso88599
| | |-- dsdriver_LI_tr
| | |-- jdbc4_LI_tr
| | |-- jdbc_LI_tr
| | `-- odbc_LI_tr
| |-- tr_TR.utf8
| | |-- dsdriver_LI_tr
| | |-- jdbc4_LI_tr
| | |-- jdbc_LI_tr
| | `-- odbc_LI_tr
| |-- zh_CN.eucCN
| | |-- dsdriver_LI_zh
| | |-- jdbc4_LI_zh
| | |-- jdbc_LI_zh
| | `-- odbc_LI_zh
| |-- zh_CN.gbk
| | |-- dsdriver_LI_zh
| | |-- jdbc4_LI_zh
| | |-- jdbc_LI_zh
| | `-- odbc_LI_zh
| |-- zh_CN.utf8
| | |-- dsdriver_LI_zh
| | |-- jdbc4_LI_zh
| | |-- jdbc_LI_zh
| | `-- odbc_LI_zh
| |-- zh_TW.big5
| | |-- dsdriver_LI_zh_TW
| | |-- jdbc4_LI_zh_TW
| | |-- jdbc_LI_zh_TW
| | `-- odbc_LI_zh_TW
| |-- zh_TW.eucTW
| | |-- dsdriver_LI_zh_TW
| | |-- jdbc4_LI_zh_TW
| | |-- jdbc_LI_zh_TW
| | `-- odbc_LI_zh_TW
| `-- zh_TW.utf8
| |-- dsdriver_LI_zh_TW
| |-- jdbc4_LI_zh_TW
| |-- jdbc_LI_zh_TW
| `-- odbc_LI_zh_TW
|-- odbc_cli_driver
| `-- linuxia32
| `-- ibm_data_server_driver_for_odbc_cli.tar.Z
|-- php
| `-- php32
| |-- ibm_db2_4.4.6.so
| |-- ibm_db2_5.2.1.so
| |-- pdo_ibm_5.2.1.so
| `-- README
|-- python32
| |-- ibm_db-0.7.2.5-py2.5-linux-i686.egg
| |-- ibm_db_sa-0.1.6-py2.5.egg
| `-- README
|-- ruby
| `-- ruby32
| |-- ibm_db-1.1.1.gem
| `-- README
`-- tools
|-- clpplus.jar
`-- jline-0.9.93.jar
Original comment by vsrivas...@gmail.com
on 24 Nov 2010 at 4:59
Follow following steps to install ibm_db
1) Extract v9.7fp3_25384_linuxia32_dsdriver.tar.gz then you will find following
directory structure
dsdriver
| -- clpplus
| -- jdbc_sqlj_driver
| -- license
| -- odbc_cli_driver
| ' -- linuxia32
| ' -- ibm_data_server_driver_for_odbc_cli.tar.Z
| |
| |After Extracting this file
| clidriver ( you needs to set IBM_DB_DIR to path to this directory)
| -- php_driver
| -- python32
| -- ruby_driver
| -- installDSDriver
2) Export the following environment variables
export IBM_DB_DIR=<path upto clidriver>
export IBM_DB_LIB=<path upto clidriver>/lib
3) easy_install ibm_db
There is no other prerequisite to install ibm_db.
Original comment by rahul.pr...@in.ibm.com
on 24 Nov 2010 at 6:55
After successful installation of ibm_db you needs to set LD_LIBRARY_PATH.
for this issue following command
$ export LD_LIBRARY_PATH=<path upto clidriver>/lib:$LD_LIBRARY_PATH
Original comment by rahul.pr...@in.ibm.com
on 24 Nov 2010 at 7:13
Thanks a lot for your help. I have installed the ibm_db and ibm_db_django
successfully.
What settings do I need to connect to the database. I know settings needed for
CSDK, but is there any setting for db2driver?
following is the entry in my /opt/IBM/informix/etc/sqlhosts file:
berttcpDbServer onsoctcp bert informixOnline
I can connect to the database using CSDK dbaccess utility.
I am getting the following exception
File
"/usr/local/lib/python2.6/dist-packages/ibm_db-1.0.3-py2.6-linux-i686.egg/ibm_db
_dbi.py", line 479, in pconnect
raise _get_exception(inst)
ibm_db_dbi.OperationalError: ibm_db_dbi::OperationalError: [IBM][CLI Driver]
SQL30081N A communication error has been detected. Communication protocol
being used: "TCP/IP". Communication API being used: "SOCKETS". Location where
the error was detected: "10.90.176.103". Communication function detecting the
error: "recv". Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001
SQLCODE=-30081
Original comment by vsrivas...@gmail.com
on 24 Nov 2010 at 1:48
Add following entry in your /opt/IBM/informix/etc/sqlhosts file:
berttcpDbServer_ids onsoctcp bert 9090
berttcpDbServer_drda drsoctcp bert 9091
and update PORT no of settings.py to 9091.
Original comment by rahul.pr...@in.ibm.com
on 25 Nov 2010 at 7:01
I made the changes as suggested, but am getting the following errors when
running python manage.py test:
Following is my configuration:
$ cat settings.py
...
DATABASES = {
'default': {
'ENGINE': 'ibm_db_django',
'NAME': 'mydb',
# if I use mydb@berttcpDbServer_ids or mydb@berttcpDbServer_drda
# I get message saying db not found on remote server
'USER': 'myuser',
'PASSWORD': 'mypassword',
'HOST': 'bert',
'PORT': '9091',
}
}
...
----------------------
$ python manage.py test
Preparing Database...
Creating table auth_permission
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/commands/test.py", line 37, in handle
failures = test_runner.run_tests(test_labels)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/test/simple.py", line 313, in run_tests
old_config = self.setup_databases()
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/test/simple.py", line 270, in setup_databases
connection.creation.create_test_db(self.verbosity, autoclobber=not self.interactive)
File "/usr/local/lib/python2.6/dist-packages/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/creation.py", line 123, in create_test_db
call_command( 'syncdb', database = self.connection.alias, verbosity = verbosity, interactive = False )
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/__init__.py", line 166, in call_command
return klass.execute(*args, **defaults)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.6/dist-packages/Django-1.2.3-py2.6.egg/django/core/management/commands/syncdb.py", line 95, in handle_noargs
cursor.execute(statement)
File "/usr/local/lib/python2.6/dist-packages/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/pybase.py", line 100, in execute
return super( DB2CursorWrapper, self ).execute( operation, parameters )
File "/usr/local/lib/python2.6/dist-packages/ibm_db-1.0.3-py2.6-linux-i686.egg/ibm_db_dbi.py", line 1153, in execute
self._execute_helper(None, parameters)
File "/usr/local/lib/python2.6/dist-packages/ibm_db-1.0.3-py2.6-linux-i686.egg/ibm_db_dbi.py", line 1073, in _execute_helper
raise _get_exception(inst)
django.db.utils.DatabaseError: Statement Execute Failed: [IBM][CLI
Driver][IDS/UNIX64] A syntax error has occurred. SQLCODE=-201
Original comment by vsrivas...@gmail.com
on 29 Nov 2010 at 4:44
Hi Vsrivastav,
As you will see in our supported databases list of the ibm_db_django adapter
and in this post
http://groups.google.com/group/ibm_db/browse_frm/thread/72b3a1215acab49/79ec8e89
b9714d1e?lnk=gst&q=Informix+IDS#79ec8e89b9714d1e only the ibm_db & ibm_db_dbi
has been fully tested with IDS & Django is still in the list of to be supported.
The above error you got because the generated sql of CREATE TABLE for
“AUTH_PERMISSION” table is not compatible with IDS.
We havent done the work yet to ensure that with IDS, in all cases, we are
generating the right IDS SQL syntax. This is the work to be done to move IDS
into the list of supported databases for ibm_db_django. This is a pending
work-item which we have never had a chance to get to yet. Any chance that you
would be interested in contributing to this effort...ibm_db_django is an
opensource adaptor so, you can also become a contributor by signing
contribution agreement which is available at
http://code.google.com/p/ibm-db/wiki/Contributions and your code will get
committed after due review
Thanks,
Rahul Priyadarshi
Original comment by rahul.pr...@in.ibm.com
on 1 Dec 2010 at 12:06
I would definitely like to help. I will send the contribution agreement when I
have some changes.
I appreciate your timely responses and help.
Vivek
Original comment by vsrivas...@gmail.com
on 2 Dec 2010 at 3:51
What is sysibm.sysdummy1 database?
dhcp-64-100-85-50:dtacs vivsriva$ python manage.py test
Preparing Database...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_flatpage_sites
Creating table django_flatpage
Creating table django_redirect
Creating table django_comments
Creating table django_comment_flags
Creating table django_admin_log
/Library/Python/2.6/site-packages/ibm_db-1.0.3-py2.6-macosx-10.6-universal.egg/i
bm_db_dbi.py:60: DeprecationWarning: BaseException.message has been deprecated
as of Python 2.6
self.message = message
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.6/site-packages/django/core/management/commands/test.py", line 37, in handle
failures = test_runner.run_tests(test_labels)
File "/Library/Python/2.6/site-packages/django/test/simple.py", line 313, in run_tests
old_config = self.setup_databases()
File "/Library/Python/2.6/site-packages/django/test/simple.py", line 270, in setup_databases
connection.creation.create_test_db(self.verbosity, autoclobber=not self.interactive)
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/creation.py", line 123, in create_test_db
call_command( 'syncdb', database = self.connection.alias, verbosity = verbosity, interactive = False )
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 166, in call_command
return klass.execute(*args, **defaults)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/Library/Python/2.6/site-packages/django/core/management/commands/syncdb.py", line 103, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive, db)
File "/Library/Python/2.6/site-packages/django/core/management/sql.py", line 185, in emit_post_sync_signal
interactive=interactive, db=db)
File "/Library/Python/2.6/site-packages/django/dispatch/dispatcher.py", line 162, in send
response = receiver(signal=self, sender=sender, **named)
File "/Library/Python/2.6/site-packages/django/contrib/auth/management/__init__.py", line 25, in create_permissions
ctype = ContentType.objects.get_for_model(klass)
File "/Library/Python/2.6/site-packages/django/contrib/contenttypes/models.py", line 38, in get_for_model
defaults = {'name': smart_unicode(opts.verbose_name_raw)},
File "/Library/Python/2.6/site-packages/django/db/models/manager.py", line 135, in get_or_create
return self.get_query_set().get_or_create(**kwargs)
File "/Library/Python/2.6/site-packages/django/db/models/query.py", line 373, in get_or_create
obj.save(force_insert=True, using=self.db)
File "/Library/Python/2.6/site-packages/django/db/models/base.py", line 434, in save
self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/Library/Python/2.6/site-packages/django/db/models/base.py", line 527, in save_base
result = manager._insert(values, return_id=update_pk, using=using)
File "/Library/Python/2.6/site-packages/django/db/models/manager.py", line 195, in _insert
return insert_query(self.model, values, **kwargs)
File "/Library/Python/2.6/site-packages/django/db/models/query.py", line 1479, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/Library/Python/2.6/site-packages/django/db/models/sql/compiler.py", line 789, in execute_sql
self.query.model._meta.db_table, self.query.model._meta.pk.column)
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/operations.py", line 113, in last_insert_id
return cursor.last_identity_val
File "/Library/Python/2.6/site-packages/ibm_db-1.0.3-py2.6-macosx-10.6-universal.egg/ibm_db_dbi.py", line 1132, in _get_last_identity_val
raise _get_exception(inst)
ibm_db_dbi.OperationalError/Library/Python/2.6/site-packages/ibm_db-1.0.3-py2.6-
macosx-10.6-universal.egg/ibm_db_dbi.py:63: DeprecationWarning:
BaseException.message has been deprecated as of Python 2.6
return 'ibm_db_dbi::'+str(self.__class__.__name__)+': '+str(self.message)
: ibm_db_dbi::OperationalError: Statement Execute Failed: [IBM][CLI
Driver][IDS/UNIX64] The specified table (sysibm.sysdummy1) is not in the
database. SQLCODE=-206
Original comment by vsrivas...@gmail.com
on 9 Dec 2010 at 3:41
The "sysibm.sysdummy1" table is a spacial in-memory table that can be used to
discover the value of DB2 registers.
Here we are using it to get last generated identity value from the DB2 catalog.
you needs to change the sql to get last generated identity value for informix
because "sysibm.sysdummy1" table is not available in Informix.
you can use "SELECT DBINFO('sqlca.sqlerrd1') FROM systables where tabid = 1"
sql instead of "SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1" in
ibm_db_dbi.py file at line number 1117.
Original comment by rahul.pr...@in.ibm.com
on 9 Dec 2010 at 8:01
ok changed the last_insert_id method. Now I am getting error about
unique_together_index.
How do I resolve this?
dhcp-64-100-85-50:dtacs vivsriva$ python manage.py test
Preparing Database...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_flatpage_sites
Creating table django_flatpage
Creating table django_redirect
Creating table django_comments
Creating table django_comment_flags
Creating table django_admin_log
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.6/site-packages/django/core/management/commands/test.py", line 37, in handle
failures = test_runner.run_tests(test_labels)
File "/Library/Python/2.6/site-packages/django/test/simple.py", line 313, in run_tests
old_config = self.setup_databases()
File "/Library/Python/2.6/site-packages/django/test/simple.py", line 270, in setup_databases
connection.creation.create_test_db(self.verbosity, autoclobber=not self.interactive)
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/creation.py", line 123, in create_test_db
call_command( 'syncdb', database = self.connection.alias, verbosity = verbosity, interactive = False )
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 166, in call_command
return klass.execute(*args, **defaults)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/Library/Python/2.6/site-packages/django/core/management/commands/syncdb.py", line 137, in handle_noargs
index_sql = connection.creation.sql_indexes_for_model(model, self.style)
File "/Library/Python/2.6/site-packages/django/db/backends/creation.py", line 253, in sql_indexes_for_model
output.extend(self.sql_indexes_for_field(model, f, style))
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/creation.py", line 63, in sql_indexes_for_field
if len( model._meta.unique_together_index ) != 0:
AttributeError: 'Options' object has no attribute 'unique_together_index'
Original comment by vsrivas...@gmail.com
on 9 Dec 2010 at 1:50
Is there a way to print the SQL statement which is causing error?
Original comment by vsrivas...@gmail.com
on 9 Dec 2010 at 2:19
1. How do I fix the fixtures problem?
2. Why am I getting "Index already exists on the column (or on the set of
columns)"?
Installing index for auth.Permission model
/Library/Python/2.6/site-packages/ibm_db-1.0.3-py2.6-macosx-10.6-universal.egg/i
bm_db_dbi.py:60: DeprecationWarning: BaseException.message has been deprecated
as of Python 2.6
self.message = message
Failed to install index for auth.Permission model: Statement Execute Failed:
[IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on the set
of columns). SQLCODE=-350
Installing index for auth.Group_permissions model
Failed to install index for auth.Group_permissions model: Statement Execute
Failed: [IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on
the set of columns). SQLCODE=-350
Installing index for auth.User_user_permissions model
Failed to install index for auth.User_user_permissions model: Statement Execute
Failed: [IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on
the set of columns). SQLCODE=-350
Installing index for auth.User_groups model
Failed to install index for auth.User_groups model: Statement Execute Failed:
[IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on the set
of columns). SQLCODE=-350
Installing index for auth.Message model
Failed to install index for auth.Message model: Statement Execute Failed:
[IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on the set
of columns). SQLCODE=-350
Installing index for flatpages.FlatPage_sites model
Failed to install index for flatpages.FlatPage_sites model: Statement Execute
Failed: [IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on
the set of columns). SQLCODE=-350
Installing index for flatpages.FlatPage model
Installing index for redirects.Redirect model
Failed to install index for redirects.Redirect model: Statement Execute Failed:
[IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on the set
of columns). SQLCODE=-350
Installing index for comments.Comment model
Failed to install index for comments.Comment model: Statement Execute Failed:
[IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on the set
of columns). SQLCODE=-350
Installing index for comments.CommentFlag model
Failed to install index for comments.CommentFlag model: Statement Execute
Failed: [IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on
the set of columns). SQLCODE=-350
Installing index for admin.LogEntry model
Failed to install index for admin.LogEntry model: Statement Execute Failed:
[IBM][CLI Driver][IDS/UNIX64] Index already exists on the column (or on the set
of columns). SQLCODE=-350
No fixtures found.
....Problem installing fixture
'/Library/Python/2.6/site-packages/django/contrib/auth/fixtures/authtestdata.jso
n': Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/django/core/management/commands/loaddata.py", line 172, in handle
obj.save(using=using)
File "/Library/Python/2.6/site-packages/django/core/serializers/base.py", line 165, in save
models.Model.save_base(self.object, using=using, raw=True)
File "/Library/Python/2.6/site-packages/django/db/models/base.py", line 496, in save_base
manager.using(using).filter(pk=pk_val).exists())):
File "/Library/Python/2.6/site-packages/django/db/models/query.py", line 496, in exists
return self.query.has_results(using=self.db)
File "/Library/Python/2.6/site-packages/django/db/models/sql/query.py", line 417, in has_results
return bool(compiler.execute_sql(SINGLE))
File "/Library/Python/2.6/site-packages/django/db/models/sql/compiler.py", line 727, in execute_sql
cursor.execute(sql, params)
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/pybase.py", line 100, in execute
return super( DB2CursorWrapper, self ).execute( operation, parameters )
File "/Library/Python/2.6/site-packages/ibm_db-1.0.3-py2.6-macosx-10.6-universal.egg/ibm_db_dbi.py", line 1153, in execute
self._execute_helper(None, parameters)
File "/Library/Python/2.6/site-packages/ibm_db-1.0.3-py2.6-macosx-10.6-universal.egg/ibm_db_dbi.py", line 1058, in _execute_helper
for param in parameters:
Exception: SQLNumResultCols failed: [IBM][CLI Driver][IDS/UNIX64] A syntax
error has occurred. SQLCODE=-201
Original comment by vsrivas...@gmail.com
on 9 Dec 2010 at 4:54
When I try to create Site object and save it, the following SQL is generated.
Where should I look to fix this?
(Pdb) from django.contrib.sites.models import Site
(Pdb) from django.conf import settings
(Pdb) Site(id=settings.SITE_ID, domain="example.com", name="example.com").save()
SELECT a FROM ( SELECT a, ( ROW_NUMBER() OVER() ) AS "Z.__ROWNUM" FROM (
SELECT (1) AS a FROM django_site WHERE django_site.id = ? ) AS M ) Z WHERE
"Z.__ROWNUM" <= 1
(1,)
*** Exception: SQLNumResultCols failed: [IBM][CLI Driver][IDS/UNIX64] A syntax
error has occurred. SQLCODE=-201
Original comment by vsrivas...@gmail.com
on 10 Dec 2010 at 2:41
ok found them in compiler.py and query.py
Original comment by vsrivas...@gmail.com
on 10 Dec 2010 at 6:15
The driver is generating the following insert statements:
1. Informix does not support True/False literals, which file would I change to
replace them with "0/1".
2. How do I remove the 'u' prefix from string and date literals?
INSERT INTO auth_user (id, username, first_name, last_name, email, password,
is_staff, is_active, is_superuser, last_login, date_joined) VALUES (?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?)
(1,
u'testclient',
u'Test',
u'Client',
u'testclient@example.com',
u'sha1$6efc0$f93efe9fd7542f25a7be94871ea45aa95de57161',
False,
True,
False,
u'2006-12-17 07:03:31',
u'2006-12-17 07:03:31')
Original comment by vsrivas...@gmail.com
on 10 Dec 2010 at 8:42
>>>
File
"/Users/vivsriva/opt/local_python/lib/python/ibm_db_django-1.0.1-py2.6.egg/ibm_d
b_django/creation.py", line 63, in sql_indexes_for_field
if len( model._meta.unique_together_index ) != 0:
AttributeError: 'Options' object has no attribute 'unique_together_index'
>>>
we defined 'unique_together_index' in 'sql_create_model' method of
'DatabaseCreation' class, It resides in creation.py file.
Flow should comes through 'sql_create_model' method to 'sql_indexes_for_field'
for creation of each model. But somehow due to other errors flow is not coming
in this way. You may put a check for 'unique_together_index' attribute through
hasattr().
>>>
Is there a way to print the SQL statement which is causing error?
>>>
You can capture all the sqls through enabling CLI Trace.
>>>
1. How do I fix the fixtures problem?
>>>
Are you talking about "NO fixtures found" problem?
This one is not an error because fixtures are used to load initial data or load
bulk data into database. So, it is not necessary that each test cases have its
fixture.
>>>
Why am I getting "Index already exists on the column (or on the set of
columns)"?
>>>
This may come if you rerun the test suit and prior created Indexes do not get
flushed out.
>>>
Informix does not support True/False literals, which file would I change to
replace them with "0/1".
>>>
In pybase.py file there are two methods defined execute() and executemany() you
can modify these two methods to do this.
>>>
How do I remove the 'u' prefix from string and date literals?
>>>
The prefix 'u' is used to denote Unicode data, so there is no need to remove
this prefix.
Original comment by rahul.pr...@in.ibm.com
on 11 Dec 2010 at 9:01
> You can capture all the sqls through enabling CLI Trace.
V: How do I enable the CLI trace? I have not used CLI before so if you can
point me how to set it up, it would help tremendously.
>Are you talking about "NO fixtures found" problem?
>This one is not an error because fixtures are used to load initial data or
load bulk data into database. So, it is not necessary that each test cases
have its fixture.
V: The python manage.py test gives following errors:
Problem installing fixture
'/Library/Python/2.6/site-packages/django/contrib/auth/fixtures/authtestdata.jso
n': Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/django/core/management/commands/loaddata.py", line 172, in handle
obj.save(using=using)
File "/Library/Python/2.6/site-packages/django/core/serializers/base.py", line 165, in save
models.Model.save_base(self.object, using=using, raw=True)
File "/Library/Python/2.6/site-packages/django/db/models/base.py", line 527, in save_base
result = manager._insert(values, return_id=update_pk, using=using)
File "/Library/Python/2.6/site-packages/django/db/models/manager.py", line 195, in _insert
return insert_query(self.model, values, **kwargs)
File "/Library/Python/2.6/site-packages/django/db/models/query.py", line 1479, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/Library/Python/2.6/site-packages/django/db/models/sql/compiler.py", line 783, in execute_sql
cursor = super(SQLInsertCompiler, self).execute_sql(None)
File "/Library/Python/2.6/site-packages/django/db/models/sql/compiler.py", line 727, in execute_sql
cursor.execute(sql, params)
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db_django-1.0.1-py2.6.egg/ibm_db_django/pybase.py", line 113, in execute
return super( DB2CursorWrapper, self ).execute( operation, parameters )
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db-1.0.3-py2.6-macosx-10.6-universal.egg/ibm_db_dbi.py", line 1165, in execute
self._execute_helper(None, parameters)
File "/Users/vivsriva/opt/local_python/lib/python/ibm_db-1.0.3-py2.6-macosx-10.6-universal.egg/ibm_db_dbi.py", line 1083, in _execute_helper
raise _get_exception(inst)
DatabaseError: Statement Execute Failed: [IBM][CLI Driver][IDS/UNIX64] Data
conversion error. SQLCODE=-415
I am assuming that the authtestdata.json is loaded into the database, but there
is some problem with SQL being generated to load the data.
> The prefix 'u' is used to denote Unicode data, so there is no need to remove
this prefix.
V: In informix 11.50 I am getting syntax error when 'u' prefix is used.
Original comment by vsrivas...@gmail.com
on 16 Dec 2010 at 10:09
1) Refer following link to enable cli trace
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=/com.ibm.db
2.luw.apdv.cli.doc/doc/c0007645.html
2) Through cli trace you can find, for which table this error is coming and for
which data type column it would be.
3) This Unicode problem may comes when you database is not enabled for Unicode.
so, create a Unicode supported database.
Original comment by rahul.pr...@in.ibm.com
on 17 Dec 2010 at 9:03
Original comment by rahul.pr...@in.ibm.com
on 16 Apr 2012 at 8:45
Original issue reported on code.google.com by
vsrivas...@gmail.com
on 8 Oct 2010 at 6:04