代码之家  ›  专栏  ›  技术社区  ›  German Latorre

Mono中不支持SQL Server时间戳列?

  •  1
  • German Latorre  · 技术社区  · 14 年前

    我正在尝试使用mono在Linux中运行.NET命令行应用程序。它访问SQL Server 2005 Express数据库,在查询某些数据时引发以下异常:

    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]
    

    查询的表具有 RowVersion 类型为的列 timestamp . 在Mono中运行.NET应用程序时,是否可以在SQL Server中使用时间戳列?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Oded    14 年前

    运行应用程序 MoMA (单迁移分析仪)。它应该告诉你Mono支持什么和不支持什么。

    更新:

    看了一眼 source code ,扔到哪里( GetMeteType ,从334行开始),实际上 timestamp 类型列表中缺少。

    举起一个 bug .