Hi!

Got adonet-dbapi from http://bitbucket.org/jdhardy/adonet-dbapi/ and
trying to integrate it to django-mssql.

What needs to be done is:
  1. Move sqlserver_ado\dbapi.py out of the way
  2. Copy X:\adonet-dbapi\dbapi\dbapi\ in its stead
  3. Copy mssql.py into the new sqlserver_ado\dbapi\ directory
  4. Edit the sqlserver_ado\dbapi\__init__.py file so it looks like this:

from common import *
from generic import *

import mssql

def connect(connect_string, timeout=None):
  return odbc.connect(connect_string)

  5. Edit the mssql.py file's imports to these:
from common import *
from generic import generic_connect, Connection as GenericConnection, Cursor as 
GenericCursor

  Now it complains the PROVIDER keyword is not supported!

  6. Edit the mssql.py file and rewrite the connect function to this:
def connect(connstr):
    relevant_parts = [part for part in connstr.split(';') if not 
part.upper().startswith('PROVIDER')]
    connstr = ';'.join(relevant_parts)
    return generic_connect("System.Data", 
"System.Data.SqlClient.SqlConnection", connstr)

What do you guys, mainly Jeff and Vernon I guess ;), think about this?

There's also an error now which I'm working on:

Creating cursor 501
Creating cursor 5
adonet2dbapi: executing 'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE 
TABLE_TYPE = 'BASE TABLE' UNION SELECT TABLE_NAME FROM 
INFORMATION_SCHEMA.VIEWS' with '()'
Creating cursor 303
adonet2dbapi: executing 'SELECT [django_content_type].[id], 
[django_content_type].[name], [django_content_type].[app_label], 
[django_content_type].[model] FROM [django_content_type] WHERE 
([django_content_type].[model] = %s  AND [django_content_type].[app_label] = %s 
) ORDER BY [django_content_type].[name] ASC' with '('permission', 'auth')'

EnvironmentError: System.Data.SqlClient.SqlException: Incorrect syntax near 's'.

Hints are always welcome ;)

Thanks!

-- 
mjt

_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to