`

在C#应用中如何读取存在ORACLE(或SQL Server)中的MapInfo表

阅读更多

   using MapInfo.Data;           //这里要添加对MapInfo数据的引用
   MIConnection Connection=new MIConnection();
   Connection.Open();
   MapInfo.Data.Table [] tables=new MapInfo.Data.Table[4];
   TableInfoServer tis1=new TableInfoServer("WORLD","SVR=MYORACLE;UID=system;PWD=manager","select * from world",MapInfo.Data.ServerToolkit.Oci);
   tables[0]=Connection.Catalog.OpenTable(tis1);
   TableInfoServer tis2=new TableInfoServer("WORLDCAP","SVR=MYORACLE;UID=system;PWD=manager","select * from worldcap",MapInfo.Data.ServerToolkit.Oci);
   tables[1]=Connection.Catalog.OpenTable(tis2);
   TableInfoServer tis3=new TableInfoServer("wldcty25","SVR=MYORACLE;UID=system;PWD=manager","select * from wldcty25",MapInfo.Data.ServerToolkit.Oci);
   tables[2]=Connection.Catalog.OpenTable(tis3);
   TableInfoServer tis4=new TableInfoServer("OCEAN","SVR=MYORACLE;UID=system;PWD=manager","select * from OCEAN",MapInfo.Data.ServerToolkit.Oci);
   tables[3]=Connection.Catalog.OpenTable(tis4);
   MapControl1.Map.Load(new MapInfo.Mapping.MapTableLoader(tables));
   Connection.Close();
  而读取存放在SQL Server2000中的表时,应当使用如下修改过的代码:
   /* SQL Server数据库连接*/
   MIConnection Connection=new MIConnection();
   Connection.Open();
   MapInfo.Data.Table [] tables=new MapInfo.Data.Table[2];
   TableInfoServer tis1=new TableInfoServer("CH_SHENGHUI","DRIVER={SQL Server};SERVER=YC31;DATABASE=MYWEBGIS;Trusted_Connection=Yes","select * from CH_SHENGHUI",MapInfo.Data.ServerToolkit.Odbc);//注意这里使用的是Odbc,且区分大小写。
   tables[0]=Connection.Catalog.OpenTable(tis1);
   TableInfoServer tis2=new TableInfoServer("CH_SHENGJIE_P","DRIVER={SQL Server};SERVER=YC31;DATABASE=MYWEBGIS;Trusted_Connection=Yes","select * from CH_SHENGJIE_P",MapInfo.Data.ServerToolkit.Odbc);//注意这里使用的是Odbc,且区分大小写。
   tables[1]=Connection.Catalog.OpenTable(tis2);
   mapControl1.Map.Load(new MapInfo.Mapping.MapTableLoader(tables));
   Connection.Close();
   /*上面的TableInfoServer语句分开来写可以表达成如下方法。*/
   /*
   TableInfoServer tiServer = new TableInfoServer("SHENGHUI");
   tiServer.ConnectString = "DRIVER={SQL Server};SERVER=YC31;DATABASE=MYWEBGIS;Trusted_Connection=Yes";
   tiServer.Query = "Select * from CH_SHENGHUI";
   tiServer.Toolkit = ServerToolkit.Odbc;
   MapTableLoader tl = new MapTableLoader(tiServer);
   mapControl1.Map.Load(tl);
   */
分享到:
评论

相关推荐

    MapXtreme2004应用问答.txt

    C#应用程序读取Oracle或SQL Server中的MapInfo数据 为了实现C#应用程序与Oracle数据库或SQL Server数据库之间的交互,我们需要使用MapInfo的数据连接组件。以下是一些示例代码: #### Oracle数据库示例 - 首先...

    mapxtreme练习笔记

    12. **数据库集成**:在C#应用程序中读取Oracle或SQL Server中的MapInfo表,读取线的节点坐标,这些都是GIS数据与数据库交互的关键技术。 以上内容只是MapXtreme练习笔记中的一部分,实际涵盖了MapXtreme开发的多个...

    mapx开发基础(mapinfo)

    - 理解如何将MapX与数据库(如SQL Server、Oracle等)结合,实现地图数据的存储和检索。 总的来说,MapX是一个强大的GIS开发工具,它为开发者提供了丰富的功能和灵活性,使得在Windows应用中集成地图功能变得简单。...

    Mapinfo+MapX+5.0+开发人员指南

    - **多数据库集成**:支持多种类型的数据库连接,如Oracle、SQL Server等,方便用户管理和分析来自不同来源的数据。 - **地理数据库技术**:采用了先进的地理数据库技术,确保了数据的安全存储与高效检索。 - **GIS...

    MapXtreme开发简介

    在 MapXtreme 2005 中的地图由地理对象如点位、边界、行政区划、路网等构成,这些对象的信息存在表中,在地图窗口的图层中显示。选择和查询是 MapXtreme 2005 中的一个常用功能,包括选择工具、查询方法如 ...

    基于MapX和Oracle Spatial的空间数据库管理系统开发.pdf

    在.NET环境下,可以使用C#或VB.NET等语言结合MapX控件来实现用户界面,同时通过Oracle .NET数据提供者与Oracle Spatial进行数据交互。在编程过程中,需要考虑如何有效地利用Oracle Spatial的空间索引和函数进行空间...

    TMapdata公开部分

    \PrjMap2SQL.exe Mapinfo格式地图到数据库的转换程序(需安装mapx5) \PrjTestMap.exe 测试地图控件的程序 \PrjTestMap-oracle.exe 测试地图控件的程序,连接Oracle数据库 \Oracle连接控件 连接Oracle的控件,用于...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    11、ArcGIS高级开发应用上机或ArcGIS与SQL Server、ArcSDE的关联或 ARCCIS多元数据分析及ARCCIS图括元素计算(尽量依学员要求介绍); (空调机房) 主讲人:南京大学规划专业博士、南京路川公司特聘高级讲师 12、...

    GIS软件二次开发课件

    3. **编程语言**:GIS二次开发通常涉及的编程语言有Python、Java、C#等,学习这些语言的基础语法和数据结构,以及如何在GIS环境中应用它们。 4. **GIS API与SDK**:深入学习GIS软件提供的API和SDK(Software ...

    MapXtreme2008_DevGuide

    - **数据库支持**:兼容多种数据库系统,包括 Oracle Spatial、SQL Server、PostgreSQL 等。 - **Web 服务**:支持 Web Map Service (WMS) 和 Web Feature Service (WFS),可以与其他 GIS 平台集成。 #### 三、迁移...

Global site tag (gtag.js) - Google Analytics