+2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
+
+ ** Fixes #382589
+ * Tds.cs (ServerTdsVersion): New property to access ServerVersion.
+
+ * Tds70.cs (WriteParameterInfo): Treat Decimal types as Numeric
+ types from SQL Server 2000.
+
+ * TdsVersion.cs: Add SQL Server 2008 version.
+
2009-05-02 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #462947 - Patch by Gert Driesen
public byte[] Collation {
get {return collation; }
}
+
+ public TdsVersion ServerTdsVersion {
+ get {
+ switch (databaseMajorVersion) {
+ case 4: return TdsVersion.tds42;
+ case 5: return TdsVersion.tds50;
+ case 7: return TdsVersion.tds70;
+ case 8: return TdsVersion.tds80;
+ case 9: return TdsVersion.tds90;
+ case 10: return TdsVersion.tds100;
+ default: return tdsVersion; // return client's version
+ }
+ }
+ }
private void SkipRow ()
{
if (TdsVersion > TdsVersion.tds81 && partLenType) {
Comm.Append ((byte)origColType);
Comm.Append ((short)-1);
+ } else if (ServerTdsVersion > TdsVersion.tds70
+ && origColType == TdsColumnType.Decimal) {
+ param.TypeName = "numeric";
+ Comm.Append ((byte)TdsColumnType.Numeric);
} else {
Comm.Append ((byte)colType);
}
namespace Mono.Data.Tds.Protocol {
public enum TdsVersion
{
- tds42 = 42, // used by older Sybase and Microsoft SQL (< 7.0) servers
- tds50 = 50, // used by Sybase
- tds70 = 70, // used by Microsoft SQL server 7.0/2000
- tds80 = 80, // used by Microsoft SQL server 2000
- tds81 = 81, // used by Microsoft SQL server 2000 SP1
- tds90 = 90 // used by Microsoft SQL server 2005
+ tds42 = 42, // used by older Sybase and Microsoft SQL (< 7.0) servers
+ tds50 = 50, // used by Sybase
+ tds70 = 70, // used by Microsoft SQL server 7.0/2000
+ tds80 = 80, // used by Microsoft SQL server 2000
+ tds81 = 81, // used by Microsoft SQL server 2000 SP1
+ tds90 = 90, // used by Microsoft SQL server 2005
+ tds100 = 100 // used by Microsoft SQL server 2008
}
}