Am 09.03.2009 um 23:24 schrieb fREW Schmidt:
Hi all!
We are dealing with some weird issues because our database has silly
column names. Specifically speaking we have a column called
'user'. user is a reserved word in T-SQL (we are using SQL
Server.) Anyway, this is the error we get:
DBIx::Class::ResultSet::find(): Error executing 'SELECT me.user,
me.password, me.site, me.image, me.ro FROM Users me WHERE ( me.user
= ? )': [Microsoft][SQL Native Client][SQL Server]Incorrect syntax
near the keyword 'user'. (SQL-42000)
Is there a standard way around this?
Thanks!
There is:
http://search.cpan.org/~ribasushi/DBIx-Class-0.08012/lib/DBIx/Class/Manual/Cookbook.pod#Setting_quoting_for_the_generated_SQL
.
I actually couldn't get either of these solutions to work. I asked
for help on the IRC Channel and I got this far:
use lib '/Inetpub/wwwroot/cgi'; use My::Schema; use strict;
my $schema = My::Schema->connect("dbi:ODBC:DSN=LynxSQL",
"Test_Lornx","Password1!",
{ quote_char => [qw/
[ ]/], name_sep =>
'.', limit_dialect =>
'mssql', });
my $parent = $schema->resultset('LogParent')->find(62); print
$parent->subject;
my @equip = $schema->resultset('User')->find('test')->equipment;
print $equip[0]->serialnumber;
But it still acts like I never set any of those settings and I get
the same error:
DBIx::Class::ResultSet::find(): Error executing 'SELECT me.user,
me.password, me.site, me.image, me.ro FROM Users me WHERE ( me.user
= ? )': [Microsoft][SQL Native Client][SQL Server]Incorrect syntax
near the keyword 'user'. (SQL-42000)
SQL::Translator::Producer::SQLServer doesn't seem to honour quote_char
and friends.
Can someone confirm?
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]