SQL Server problems with TeamCity 4.5


i setup a TeamCity server on a WinXP SP3 machine today and then migrated the data to a SQL Server 2005 database.
When i start the services, i get an uncategorized SQLException for SQL [select MAX(build_id) from server]; SQL state [42S22]; error code [207]; Invalid column name 'build_id'  error in the teamcity-server.log file. I attached the log files also. This exception leads to a cascade of Error creating bean with name 'xyz' errors but the problem starts with the error in that simple query.

I've checked the database and the column names in all tables are in UPPER_CASE. TeamCity throws this exception because it's using lower_case letters in the query and this leads to the database giving an error.

My first question is: Isn't Transact-SQL supposed to be case insensitive?
And my second question is: If TeamCity creates tables with column names in UPPER_CASE, why is it querying the database in lower_case?

I'm pretty sure i'm missing something or doing something wrong, but i followed the instructions in this page to the letter and i have no idea what the problem is.

I would appreciate if someone could help me with this.


Comment actions Permalink

Please configure your database to use case insensitive collation. This can help: http://stackoverflow.com/questions/137452/how-do-i-change-sql-server-2005-to-be-case-sensitive

Comment actions Permalink

I'm using Turkish_CI_AI collation in my db. That's why i can't understand why i'm having problems with case sensitivity in queries.

I did everything told in this page. Here it says to 'ensure that _CI_AI collation is selected for this database' and i have. There is some other problem.

Thanks for the suggestion though.

Comment actions Permalink

Have you tried to invoke this SQL manually? I mean: select MAX(build_id) from server

Comment actions Permalink

Yes I have. I get the same error.

Comment actions Permalink

OK i think i've figured it out. Some other guy has had a similar problem and reported it to Microsoft.

Basically it has to do with the lowercase/uppercase difference of the letter "i" in the Turkish language.
So it's been established that i can't use a Turkish collation for the TeamCity database. Which one should i use? Which codepage would you recommend?

There's a SQL_Latin_General_CP1254* alternative but it only comes in _CI_AS  flavor. Is Accent Insensitivity compulsory for TeamCity or can I get away with it? If it is compulsory, then which collation should I use?    

Comment actions Permalink

OK I picked the Latin1_CI_AI collation and it's running with no problems.


Please sign in to leave a comment.