[mapguide-users] Maestro: can't find the table containing the geometry field with SQLServerSpatial

Carl carlshe at 163.com
Tue Oct 14 13:12:06 EDT 2008



yes, the exception is exactly fired because of the lost the type map.

Then I tried to comment the follow bold line: 

/////////////////////////////////////////
public class FeatureSetColumn
	{
		internal FeatureSetColumn(string name, int type)
		{
			m_name = name;
			m_type = Utility.ConvertMgTypeToNetType(type);
		}

		internal FeatureSetColumn(XmlNode node)
		{
			m_name = node.Attributes["name"].Value;
			m_allowNull = node.Attributes["minOccurs"] != null &&
node.Attributes["minOccurs"].Value == "0";
            if (node.Attributes["type"] != null &&
node.Attributes["type"].Value == "gml:AbstractGeometryType")
                m_type = Utility.GeometryType;
            else if (node["xs:simpleType"] == null)
                m_type = Utility.RasterType;
            else
                switch
(node["xs:simpleType"]["xs:restriction"].Attributes["base"].Value.ToLower())
                {
                    case "xs:string":
                        m_type = typeof(string);
                        break;
                    case "fdo:byte":
                        m_type = typeof(Byte);
                        break;
                    case "fdo:int32":
                        m_type = typeof(int);
                        break;
                    case "fdo:int16":
                        m_type = typeof(short);
                        break;
                    case "fdo:int64":
                        m_type = typeof(long);
                        break;
                    case "xs:float":
                        m_type = typeof(float);
                        break;
                    case "xs:double":
                    case "xs:decimal":
                        m_type = typeof(double);
                        break;
                    case "xs:boolean":
                        m_type = typeof(bool);
                        return;
                    case "xs:datetime":
                        m_type = typeof(DateTime);
                        break;
                    default:
                        //throw new Exception("Failed to find appropriate
type for: " +
node["xs:simpleType"]["xs:restriction"].Attributes["base"].Value);                       
break;
                }
		}

		private string m_name;
		private Type m_type;
		private bool m_allowNull;

		public string Name { get { return m_name; } }
		public Type Type { get { return m_type; } }
	}

//////////////////////////////////

OK. No messages shown again, and Maestro seems work normally, the resource
editor can show more information. 

But, there still only 16 tables listed, none has a geometry field. In fact
there exist more than 200 tables in the Database. 
-- 
View this message in context: http://www.nabble.com/Maestro%3A-can%27t-find-the-table-containing-the-geometry-field-with-SQLServerSpatial-tp19977173p19978011.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list