[Mono-list] different behavior between .NET and Mono

Michael George george@idealso.com
Wed, 16 Feb 2005 15:06:43 -0500 (EST)


On Wed, February 16, 2005 2:18 pm, Michael George said:
> I am completely new to Mono.  I'm trying to help someone migrate from a
> Microsoft/IIS/.NET system to a Linux/Apache/Mono system.
>
> We have both a Microsoft 2003 Server system and a SuSE Linux system, so we
> can run the app in .NET while we (try to) incrementally migrate.  First
> step is to plop the same code from .NET into Mono while still connecting
> to the MS-SQL server on teh .NET system.
>
> Should be simple enough, I though, just move the code, change the
> connection string and "voila!", but no such luck.
>
> What I am running into and what I'm hoping for advice about, is that
> watching the MS-SQL server logging output, it appears that the .NET client
> initiates communications differently than the Mono client.
>
> Differences:
> .NET is using RPC, Mono is using SQL.
> The first query issued by .NET appears to be a connection to the database,
> as expected.  The first query issued by Mono is some strange call to a
> stored procedure that I cannot find anywhere in the system.
>
> I thought maybe I need ADO.NET installed (not in the mono RPMs), but as I
> understand, ADO is a db abstraction layer.  The authors of the app we want
> to migrade just used SqlClient wherever.
>
> Anyone have any advice for me?

I was wrong, the working .NET app does issue a similar command...
.NET:
RPC: exec sp_procedure_params_rowset @procedure_name =
N'SelectReferenceTables'

Mono:
SQL:sp_procedure_params_rowset @P1=N'dbo.SelectReferenceTables'

The differences being the RPC vs. SQL, @procedure_name vs. @P1, the spaces
around "=", and the "dbo.".

Does that indicate a bug?  Or, more likely, a configuration issue?

-Michael George
 Ideal Solution, LLC