2010-07-01 4 views
1

J'essaie d'exécuter une application de ligne de commande .NET sous Linux en utilisant Mono. Il accède à la base de données SQL Server 2005 Express et, lors de l'interrogation des données, il jette l'exception suivante:Colonne d'horodatage SQL Server non prise en charge dans Mono?

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] 

Interrogation a une table de colonne RowVersion dont le type est timestamp. N'est-il pas possible d'utiliser des colonnes d'horodatage dans SQL Server lors de l'exécution d'applications .NET dans Mono?

+0

Pouvez-vous poster le code où vous interrogez la base de données? – Oded

Répondre

2

Exécutez votre application via MoMA (Mono Migration Analyzer). Il devrait vous dire ce qui est et n'est pas supporté par Mono.

Mise à jour:

A pris un coup d'oeil à la source code, où cela est jeté (GetMeteType, à partir de la ligne 334), et en fait timestamp manque dans la liste des types.

Élevez un bug.

+0

Bonnes choses, merci. Mais malheureusement, tout va bien avec MoMa ... –

+0

Bon, je vais le faire. Merci! –

Questions connexes