Almost there I guess:
I modified /etc/freetds/freetds.conf to have the followin options under [global]
TDS_Version = 8.0
client_charset = UTF-8
I can now do:
import pypyodbc
conn pypyodbc.connect('Driver=FreeTDS,Server=url;port=port;uid=username;pwd=password;database=databasename')
print conn.cursor()execute('select top 1 * from a_table').fetchone()
which works.
But
if I do this
import pypyodbc
from gluon import DAL
px = DAL('mssql4://username:password@url,portnumber/databasename')
I get this error:
RuntimeError: Failure to connect, tried 5 times:
Traceback (most recent call last):
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/base.py", line 437, in __init__
self._adapter = ADAPTERS[self._dbname](**kwargs)
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/adapters/base.py", line 57, in __call__
obj = super(AdapterMeta, cls).__call__(*args, **kwargs)
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/adapters/mssql.py", line 160, in __init__
if do_connect: self.reconnect()
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/connection.py", line 105, in reconnect
self.connection = f()
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/adapters/mssql.py", line 158, in connector
return self.driver.connect(cnxn, **driver_args)
File "/home/andreas/web2py_project/venv/local/lib/python2.7/site-packages/pypyodbc.py", line 2434, in __init__
self.connect(connectString, autocommit, ansi, timeout, unicode_results, readonly)
File "/home/andreas/web2py_project/venv/local/lib/python2.7/site-packages/pypyodbc.py", line 2483, in connect
check_success(self, ret)
File "/home/andreas/web2py_project/venv/local/lib/python2.7/site-packages/pypyodbc.py", line 988, in check_success
ctrl_err(SQL_HANDLE_DBC, ODBC_obj.dbc_h, ret, ODBC_obj.ansi)
File "/home/andreas/web2py_project/venv/local/lib/python2.7/site-packages/pypyodbc.py", line 964, in ctrl_err
raise Error(state,err_text)
Error: (u'IM002', u'[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified')
Using web2py I get this:
<type 'exceptions.RuntimeError'> Failure to connect, tried 5 times:
Traceback (most recent call last):
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/base.py", line 437, in __init__
self._adapter = ADAPTERS[self._dbname](**kwargs)
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/adapters/base.py", line 57, in __call__
obj = super(AdapterMeta, cls).__call__(*args, **kwargs)
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/adapters/mssql.py", line 106, in __init__
if do_connect: self.find_driver(adapter_args,uri)
File "/home/andreas/web2py_project/web2py/gluon/packages/dal/pydal/adapters/base.py", line 188, in find_driver
raise RuntimeError("no driver available %s" % str(self.drivers))
RuntimeError: no driver available ('pyodbc',)
On Saturday, July 11, 2015 at 2:21:52 PM UTC+2, achristoffersen wrote: