there seems to be an answer here: http://www.saltycrane.com/blog/2011/09/notes-sqlalchemy-w-pyodbc-freetds-ubuntu/ for an almost exact problem, changing the tds_version number seemed to help them. since I connected from a windows machine while you are doing this from a linux machine like the url I provided.
If this doesn't work think about seperating the tg db (for auth,user etc) from the mssql. and configure tg to use 2 databases. I should also check on the created tg_user table what is the column encoding on the display_name column? what is the table encoding/ collation. On Dec 19, 12:16 pm, Timuçin Kızılay <[email protected]> wrote: > here is the summary of my problems with turbogears and mssql server > databases. > > my odbc.ini in /etc/odbc.ini like this: > [test] > Driver = /usr/lib/odbc/libtdsodbc.so > Description = test > Server = 192.168.0.10 > Port = 1433 > Database = test > client charset = WINDOWS-1254 > TDS_Version = 8.0 > > and my connection string in development.ini : > sqlalchemy.url = mssql+pyodbc://testuser:12345@test > > when I run paster setup-app command, tha tables created ok but when > running bootstrap.py, if there are any non ascii character I get errors. > > sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000', '[42000] > [FreeTDS][SQL Server]The incoming tabular data stream (TDS) remote > procedure call (RPC) protocol stream is incorrect. Parameter 5: The > parameter name is invalid. (8005) (SQLExecDirectW)') 'INSERT INTO > tg_user (user_name, email_address, display_name, password, created) > OUTPUT inserted.user_id VALUES (?, ?, ?, ?, ?)' ('manager', > '[email protected]', 'Example manager > *\xc4\x9e\xc3\x9c\xc5\x9e\xc4\xb0\xc3\x96\xc3\x87*', > '77551410b646190fb691dd78085620e905bbdbbfc4a1cd23c0f76b7b71dd1a0d00cf005b2e > f164e90ee61b6c9b6b9543a5742a5094e40d4123b6d751d5c122bc', > datetime.datetime(2011, 12, 19, 11, 27, 8, 957996)) > > I've edited bootstrap.py to put some non-asci chars to strings. > > u = model.User() > u.user_name = u'manager' > u.display_name = u'Example manager *ĞÜŞİÖÇ*' > u.email_address = u'[email protected]' > u.password = u'managepass' > > I think I need to put some charset encodings of the database to > somewhere but I'm at a loss. > > working with postgresql and utf8 database is ok, but I need to use an > existing mssql database with windows-1254 charset, that's why I'm trying > to solve this on a test database first. > > > > > > > > -------- Original Message -------- > Subject: RE: tg2 and mssql > Date: Mon, 19 Dec 2011 10:24:58 +0200 > From: Alon Nisser <[email protected]> > To: Timuçin Kızılay <[email protected]> > > Hey > Lets take this back to the tg google group so bigger experts than me > could help you > But I don’t think this a codepage problem (maybe this is, I didn’t see > the error log, btw I'm using utf8 in tg and the mssql is another > encoding and having no problem), bootstrap.py problems hints to another > direction > In order to find out the problem please post the error log you are getting > > So repost this in the tg group with the full error log, and hopefully me > or someone else could help you out > > -----Original Message----- > From: Timuçin Kızılay [mailto:[email protected]] > Sent: Monday, December 19, 2011 10:03 AM > To: alonn > Subject: Re: tg2 and mssql > > Hello, > > I have full administrative access to ms sql server and the user I use > have dbowner role in that database. > creating the tables is not problem. > I have used this connection string: > sqlalchemy.url = mssql+pyodbc://testuser:12345@test > > and the table creation is ok now. But when I run paster setup-app > command, after table creation, runs bootstrap.py and I'm getting erros > (I think) its because of codepage problems. > > Can you send me an example odbc.ini file to set the charset correctly? > My sql server is using windows-1254 charset and after finishing testing > with a newly quickstarted project, I need to use an existing production > database that I can not change the charset because it's being used by > another application. I can add extra tables but can not change the > existing tables so I need to use the existing codepage. > > On 16-12-2011 21:26, alonn wrote: > > 1. I just finished a project with mssql and tg2.1.3. after some > > wrestling works fine with sql alchemy , tg2 etc. > > 2. you should install pyodbc inside the project for this to work 3. do > > you have full write access to the mssql db and in liberty of changing > > it? since tg2 with authorization and autentication needs to build some > > background tables. if (like me) you can already write to specific > > tables in the mssql db but not in liberty of changing it - you'll have > > to configure tg2 with 2 databases. here's a nice post on > > that:http://www.blog.pythonlibrary.org/2009/06/13/using-multiple- > > databases-in-turbogears-2/ also be warned - there are some problems > > not specified here.. > > 4. to get the model of the already generated tables in mssql besides > > using reflection and autoload - that from my exprience didn't work as > > expected with mssql (unlike with mysql - where this works fine) - > > instead I used sqlautocode to auto generate the tables in sqlalchemy > > declarative style. > >http://turbogears.org/2.1/docs/main/Utilities/sqlautocode.html > > 5. my sqlalchemy.url connection string didn't involve pydobc just > > mssql:user:blabla etc maybe this is a problem > > > good luck! > > > On 16 דצמבר, 17:18, Timuçin Kızılay<[email protected]> wrote: > >> On 15-12-2011 14:14, Alessandro Molina wrote: > > >>> 2011/12/15 Timuçin Kızılay<[email protected]>: > >>>> Hello, > > >>>> I have to write an application using ms sql server database. I have > >>>> to use an existing database that being used in the company and my > >>>> app should do some data entry and lots of reporting. > > >>>> I'd like to use turbogears because the other option is to use .net. > > >>>> I have some questions because I have only used postgresql with > >>>> turbogears before. > > >>>> -first question is codepage issues. in tg I'll use utf8 and the > >>>> mssql database is not using unicode but using another codepage. I > >>>> think this will give me problems. > > >>> Using SQLA you can expose all your data using Unicode column, so > >>> your application will just work on unicode objects without caring > >>> too much about their representation on the database side. > > >>> When you connect to the engine you can specify which encoding that > >>> database will use to represent strings, then on python you will just > >>> get unicode strings. > > >>>> - second: the database is already created and full of data so is > >>>> there any way to get the table definitions in model files automagicaly? > > >>> Yes, you can use table reflection. > >>> The quickstarted project already has some commented lines of code > >>> inside the model to guide you at setting it up. > > >>> You can even use sqlalchemy-migrate to autogenerate the model from > >>> the tables, which gives you a little bit more control over your models. > > >>>> - third: is there any sample code using mssql databases? > > >>> If you use SQLAlchemy (which is the default database layer for TG) > >>> any example around should work correctly even on mssql. > > >> I'm familiar with SQLAlchemy (in fact, SA is a good reason to use > >> tg2) and I have developed apps with tg2 and SA on postgresql but I'm > >> at a loss here to connect to ms sql server > > >> I think I need a step by step guide to what libraries to install and > >> what connection string in development.ini file. > > >> I'm getting this error when I run paster setup-app development.ini on > >> a newly quicstarted app to connect mssql database: > > >> ---------- > > >> sqlalchemy.exc.DBAPIError: (Error) ('08001', '[08001] > >> [unixODBC][FreeTDS][SQL Server]Unable to connect to data source (0) > >> (SQLDriverConnectW)') None None > >> ---------- > > >> and my connection string in developmenbt.ini is this: > > >> sqlalchemy.url = mssql+pyodbc://testuser:[email protected]:1433/test > > >> I'm running TG2 on linux. (xubuntu 11.10 x64)-הסתר טקסט מצוטט- > > >> -הראה טקסט מצוטט- -- 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?hl=en.

