[Mono-dev] Problem with parameters using Odbc/ADO.NET/Sybase 9.0.2 ASA
Mads Bondo Dydensborg
mbd at dbc.dk
Tue Jan 2 04:31:55 EST 2007
fredag 22 december 2006 16:27 skrev Daniel Morgan:
> I'm only guessing here.
>
Thanks for your reply! I have been away, and I will go into this further, but
perhaps you could respond to my comments below.
> Are you using an ODBC driver for Sybase ASA from
> Sybase?
Yes.
>
> Have you tried using the FreeTDS ODBC driver?
No. I am quite unsure on how to do this. I did try reading the docs, but I am
absolutely no expert at odbc, and so far am clueless (I am a unix/linux
person, been given the task of making some Windows C# software "work on
Linux". Odbc is "not my bag"). If you know of a freetds for dummies guide, or
something, I would be very happy to try it out.
>
> What ODBC manager are you using? unixODBC, iODBC?
Again - I have no idea. This is debian sarge, and there seems to be both
unixodbc and iodbc files on the system...
>
> To be honest, I don't think anyone has tested the
> Mono's Odbc provider with Sybase ASA.
I think you are right.
Do you know of any database against which my test program should work? I can
try with an Oracle database, if that can help? I am in fact unsure wheter I
lack some C# calls to make the program work.
>
> If there is not a bug for this already in bugzilla,
> can you add it please?
Could this bug: http://bugzilla.ximian.com/show_bug.cgi?id=74917 be related?
Regards,
Mads
>
> http://bugzilla.ximian.com/
>
>
> --- Mads Bondo Dydensborg <mbd at dbc.dk> wrote:
>
> > Hi there
> >
> > I have a program using parameters for inserts using
> > Odbc on a Linux platform
> > against a Sybase ASA 9.0.2 server. I have tried to
> > make a minimal program to
> > illustrate the problem. It looks like the parameters
> > are not substituted?
> >
> > The program below fails with:
> >
> > $ mono --debug MinTestOdbc.exe
> >
> > Unhandled Exception: System.Data.Odbc.OdbcException:
> > [Sybase][ODBC Driver]
> > [Adaptive Server Anywhere]Column '@p1' not found
> > at System.Data.Odbc.OdbcCommand.ExecSQL
> > (System.String sql) [0x000a2]
> > in
> >
> /home/madsdyd/xIntegra/MONOTRUNK/mcs/class/System.Data/System.Data.Odbc/OdbcCommand.cs:414
> > at System.Data.Odbc.OdbcCommand.ExecuteNonQuery
> > (Boolean freeHandle)
> > [0x0002a]
> > in
> >
> /home/madsdyd/xIntegra/MONOTRUNK/mcs/class/System.Data/System.Data.Odbc/OdbcCommand.cs:440
> > at System.Data.Odbc.OdbcCommand.ExecuteNonQuery ()
> > [0x00000]
> > in
> >
> /home/madsdyd/xIntegra/MONOTRUNK/mcs/class/System.Data/System.Data.Odbc/OdbcCommand.cs:428
> > at MinOdbcTest.Main (System.String[] args)
> > [0x0004c]
> > in
> >
> /home/madsdyd/xIntegra/SybaseTest/Odbc/MinTestOdbc.cs:23
> >
> > The Sybase server says :
> >
> > ** REQUEST conn: 33 STMT_PREPARE
> > "insert into mono_sql_test (
> > char_value ) values ( @p1 )"
> > ** DONE conn: 33 STMT_PREPARE
> > Stmt=65539
> > ** REQUEST conn: 33 STMT_DESCRIBE_OUTPUT
> > Stmt=-1
> > ** DONE conn: 33 STMT_DESCRIBE_OUTPUT
> > ** REQUEST conn: 33 STMT_DESCRIBE_INPUT
> > Stmt=-1
> > ** DONE conn: 33 STMT_DESCRIBE_INPUT
> > ** REQUEST conn: 33 STMT_EXECUTE
> > Stmt=65539
> > ** ERROR conn: 33 code: -143 "Column '@p1' not
> > found"
> >
> > This is mono/mcs from current svn.
> >
> > The program is this:
> >
> > using System;
> > using System.Data;
> > using System.Data.Odbc;
> > using System.Text;
> >
> > class MinOdbcTest {
> > static void Main(string[] args) {
> >
> > OdbcConnection cnc = new OdbcConnection
> > ( "DSN=SybaseASA;UID=DBA;PWD=SQL" );
> > cnc.Open();
> >
> > OdbcCommand insertCommand = cnc.CreateCommand();
> > insertCommand.CommandText
> > = "insert into mono_sql_test ( char_value )
> > values ( @p1 )";
> >
> > OdbcParameterCollection parameters =
> > insertCommand.Parameters;
> >
> > parameters.Add ( "@p1", OdbcType.Char );
> > parameters [ "@p1" ].Value = "This is a char";
> >
> > insertCommand.ExecuteNonQuery ();
> >
> > cnc.Close();
> > }
> > }
> >
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>
--
Med venlig hilsen/Regards
Systemudvikler/Systemsdeveloper cand.scient.dat, Ph.d., Mads Bondo Dydensborg
Dansk BiblioteksCenter A/S, Tempovej 7-11, 2750 Ballerup, Tlf. +45 44 86 77 34
More information about the Mono-devel-list
mailing list