views:

26

answers:

1

I am trying to run a .NET command line application in Linux using Mono. It accesses SQL Server 2005 Express database and, when querying some data it throws the following exception:

System.NotSupportedException: Unknown Type : timestamp
  at Mono.Data.Tds.TdsMetaParameter.GetMetaType () [0x00000] 
  at Mono.Data.Tds.Protocol.Tds70.WriteParameterInfo (Mono.Data.Tds.TdsMetaParameter param) [0x00000] 
  at Mono.Data.Tds.Protocol.Tds70.ExecRPC (System.String rpcName, Mono.Data.Tds.TdsMetaParameterCollection parameters, Int32 timeout, Boolean wantResults) [0x00000] 
  at Mono.Data.Tds.Protocol.Tds70.ExecProc (System.String commandText, Mono.Data.Tds.TdsMetaParameterCollection parameters, Int32 timeout, Boolean wantResults) [0x00000] 
  at System.Data.SqlClient.SqlCommand.Execute (Boolean wantResults) [0x00000] 
  at System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior behavior) [0x00000]

Queried table has a RowVersion column whose type is timestamp. Isn't it possible to use timestamp columns in SQL Server when running .NET applications in Mono?

+2  A: 

Run your application through MoMA (Mono Migration Analyzer). It should tell you what is and isn't supported by Mono.

Update:

Took a look at the source code, where this is thrown (GetMeteType, starting on line 334), and indeed timestamp is missing from the list of types.

Raise a bug.

Oded
Good stuff, thanks. But unfortunately everything is okay with MoMa...
antur123
Good, I'll do it. Thanks!
antur123