I have been trying to connect to a Firebird database on win2K and have
found 3 problems.
1) Can't figure how to set type_conv=200, this is necessary if not
using mx_time, I can do this if I create connection at SQLObject level,
will attach code below I tried to add "?type_conv=200" to
sqlobject.dburi value but that fails with invalid arguments.

2) When I try to run "tg-admin sql create" I get :
  File "C:\Python24\Lib\site-packages\kinterbasdb\__init__.py", line
272, in ini
t
    _k.concurrency_level_set(concurrency_level)
kinterbasdb.ProgrammingError: (0, 'The concurrency level cannot be
changed once
it has been set.  Use kinterbasdb.init(concurrency_level=?) to set the
concurren
cy level legally.')


I will include entire traceback, also below. Some reseach indicated
that this error may be because of attempting to call init more than
once?

) Probably a SQLObject problem, but when I create a table within
SQLObject it includes the ID field and a generator to perform the
auto-increment process, but does not create a corresponding ON Insert
trigger.

========== Code that works ==========
Here is the code that works (with exception of on-insert trigger
problem) when run using SQLObject, note call to kinterbasdb.init,
without this it fails:

import kinterbasdb
kinterbasdb.init(type_conv=200)
from sqlobject import *
cs =
"firebird://sysdba:[EMAIL PROTECTED]:3050/c|/tutorial/tutorial.fdb"
sqlhub.processConnection = connectionForURI(cs)
class Person(SQLObject):
    fname = StringCol()

Person.createTable()

============ Here is full traceback when I use the same connect string
in dev.cfg and run tg-admin sql create:  =======

C:\tutorial>tg-admin sql create
Using database URI
firebird://sysdba:[EMAIL PROTECTED]:3050/c|/tutorial/tutori
al.fdb
Traceback (most recent call last):
  File "c:\python24\scripts\tg-admin-script.py", line 7, in ?
    sys.exit(
  File
"c:\python24\lib\site-packages\TurboGears-1.0b1-py2.4.egg\turbogears\comm
and\base.py", line 356, in main
    command.run()
  File
"c:\python24\lib\site-packages\TurboGears-1.0b1-py2.4.egg\turbogears\comm
and\base.py", line 143, in run
    command.the_runner.run(sys.argv)
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\manager\command.py", line 102, in run
    runner.run()
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\manager\command.py", line 233, in run
    self.command()
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\manager\command.py", line 556, in command
    exists = soClass._connection.tableExists(soClass.sqlmeta.table)
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\firebird\firebirdconnection.py", line 146, in tableExists
    result = self.queryOne("SELECT COUNT(rdb$relation_name) FROM
rdb$relations W
HERE rdb$relation_name = '%s'"
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\dbconnection.py", line 349, in queryOne
    return self._runWithConnection(self._queryOne, s)
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\firebird\firebirdconnection.py", line 51, in _runWithConnection
    conn = self.getConnection()
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\dbconnection.py", line 229, in getConnection
    conn = self.makeConnection()
  File
"c:\python24\lib\site-packages\SQLObject-0.7.1dev_r1860-py2.4.egg\sqlobje
ct\firebird\firebirdconnection.py", line 82, in makeConnection
    charset=self.charset,
  File "C:\Python24\Lib\site-packages\kinterbasdb\__init__.py", line
435, in con
nect
    return Connection(*args, **keywords_args)
  File "C:\Python24\Lib\site-packages\kinterbasdb\__init__.py", line
533, in __i
nit__
    _ensureInitialized()
  File "C:\Python24\Lib\site-packages\kinterbasdb\__init__.py", line
348, in _en
sureInitialized
    init()
  File "C:\Python24\Lib\site-packages\kinterbasdb\__init__.py", line
272, in ini
t
    _k.concurrency_level_set(concurrency_level)
kinterbasdb.ProgrammingError: (0, 'The concurrency level cannot be
changed once
it has been set.  Use kinterbasdb.init(concurrency_level=?) to set the
concurren
cy level legally.')


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---

Reply via email to