public void AddSDELayer(bool ChkSdeLinkModle)
{
  //定义一个属性 
  IPropertySet propset = new PropertySetClass(); 
  if (ChkSdeLinkModle == true) // 采用SDE连接 
  {
      //设置数据库服务器名 
      propset.SetProperty("SERVER", "192.168.188.128");
      //设置SDE的端口,这是安装时指定的,默认安装时"port:5151" 
      propset.SetProperty("INSTANCE", "port:5151");
      //SDE的用户名 
      propset.SetProperty("USER", "sa");
      //密码 
      propset.SetProperty("PASSWORD", "123456");
      //设置数据库的名字,只有SQL Server  Informix 数据库才需要设置 
      propset.SetProperty("DATABASE", "esri_sde");
      //SDE的版本,在这为默认版本 
      propset.SetProperty("VERSION", "SDE.DEFAULT");
  }
  else // 直接连接  
  {
      //设置数据库服务器名,如果是本机可以用"sde:sqlserver:." 
      propset.SetProperty("INSTANCE", "sde:sqlserver:192.168.188.128");
      //SDE的用户名 
      propset.SetProperty("USER", "sa");
      //密码 
      propset.SetProperty("PASSWORD", "123456");
      //设置数据库的名字,只有SQL Server  Informix 数据库才需要设置             
      propset.SetProperty("DATABASE", "esri_sde");
      //SDE的版本,在这为默认版本 
      propset.SetProperty("VERSION", "SDE.DEFAULT");
   }
   //定义一个工作空间,并实力化为SDE的工作空间 
   IWorkspaceFactory Fact = new SdeWorkspaceFactoryClass();
   //打开SDE工作空间,并转化为地物工作空间 
   IFeatureWorkspace Workspace = (IFeatureWorkspace)Fact.Open(propset, 0);
   /*定义一个地物类,并打开SDE中的管点地物类,写的时候一定要写全.如SDE中有一个管点层,你不能写成IFeatureClass Fcls = Workspace.OpenFeatureClass ("管点");这样,一定要写成下边的样子.*/
   IFeatureClass Fcls = Workspace.OpenFeatureClass("esri_sde.DBO.道路");
   IFeatureLayer Fly = new FeatureLayerClass();
   Fly.FeatureClass = Fcls;
   axMapControl1.Map.AddLayer(Fly);
   axMapControl1.ActiveView.Refresh();
}

-------------------------------------------------------------------------------------------------------------------------------

public static void test()

{

try

{

IWorkspace pWS = GetSDEWorkspace("localhost", "localhost/orcl", "sde", "sde", "sde.DEFAULT");

IDatabaseConnectionInfo4 pDCInfo = pWS as IDatabaseConnectionInfo4;

IEnumUserInfo pEnumUsers = pDCInfo.ConnectedUsers;

IUserInfo pUser = pEnumUsers.Next();

int pSessionID;//获得连接用户的sessionID

string sUserName = "";//连接用户名称

string sClientName = "";//连接用户的机器名

string sConnetionTime = "";//连接用户的开始连接时间

while (pUser != null)

{

if (!pUser.IsOwnConnection)

{

pSessionID = pUser.SessionID;

sUserName = pUser.Name;

sClientName = pUser.ClientName;

sConnetionTime = pUser.ConnectionTime.ToString();

//通过用户的sessionID断开用户连接

pDCInfo.DisconnectUser(pSessionID);

}

pUser = pEnumUsers.Next();

}

}

catch (Exception e)

{ }

}

public static IWorkspace GetSDEWorkspace(string sServerName, string sInstancePort, string sUserName, string sPassword, string sVersionName)

{

IPropertySet2 set = new PropertySetClass();

set.SetProperty("Server", "");

set.SetProperty("DBCLIENT", "Oracle");

set.SetProperty("Instance", "sde:oracle11g:" + sInstancePort);

set.SetProperty("User", sUserName);

set.SetProperty("password", sPassword);

set.SetProperty("version", sVersionName);

IWorkspaceFactory2 class2 = new SdeWorkspaceFactoryClass();

try

{

return class2.Open(set, 0);

}

catch (Exception ex)

{

return null;

}

}

---------------------------------------------------------------------------------------------------------

ArcGISEngine10.1

访问

ArcSDE

直连式

IWorkspace

pWkspace =

null

;

ESRI.ArcGIS.Geodatabase.

IWorkspaceFactory2

workspaceFactory =

null

;

ESRI.ArcGIS.esriSystem.

IPropertySet

pPropertySet =

new

ESRI.ArcGIS.esriSystem.

PropertySetClass

();

pPropertySet.SetProperty(

"SERVER"

,

"lingy"

);

pPropertySet.SetProperty(

"INSTANCE"

,

"sde:oracle11g:orcl"

);

pPropertySet.SetProperty(

"AUTHENTICATION_MODE"

,

"DBMS"

);

pPropertySet.SetProperty(

"USER"

,

"sde"

);

pPropertySet.SetProperty(

"PASSWORD"

,

"sde"

);

pPropertySet.SetProperty(

"VERSION"

,

"SDE.DEFAULT"

);

workspaceFactory =

(ESRI.ArcGIS.Geodatabase.

IWorkspaceFactory2

)

new

ESRI.ArcGIS.DataSourcesGDB.

SdeWorkspaceF

actoryClass

();

pWkspace = workspaceFactory.Open(pPropertySet, 0);

服务式

IWorkspace

pWkspace =

null

;

ESRI.ArcGIS.Geodatabase.

IWorkspaceFactory2

workspaceFactory =

null

;

ESRI.ArcGIS.esriSystem.

IPropertySet

pPropertySet =

new

ESRI.ArcGIS.esriSystem.

PropertySetClass

();

pPropertySet.SetProperty(

"SERVER"

,

"lingy"

);

pPropertySet.SetProperty(

"INSTANCE"

,

"esri_sde"

);

pPropertySet.SetProperty(

"DATABASE"

,

"orcl"

);

pPropertySet.SetProperty(

"USER"

,

"sde"

);

pPropertySet.SetProperty(

"PASSWORD"

,

"sde"

);

pPropertySet.SetProperty(

"VERSION"

,

"SDE.DEFAULT"

);

workspaceFactory =

(ESRI.ArcGIS.Geodatabase.

IWorkspaceFactory2

)

new

ESRI.ArcGIS.DataSourcesGDB.

SdeWorkspaceF

actoryClass

();

pWkspace = workspaceFactory.Open(pPropertySet, 0);

 

最新文章

  1. ArcGIS之Cartogram地图变形记
  2. .NET平台开源项目速览(2)Compare .NET Objects对象比较组件
  3. HTML网页内容转换成字符串(删除从指定字符串到指定字符串)
  4. LINUX内核笔记:自旋锁
  5. SNF开发平台WinForm之八-自动升级程序部署使用说明-SNF快速开发平台3.3-Spring.Net.Framework
  6. Android 常用工具类之DeviceInfoUtil
  7. linux软件的安装,更新与卸载
  8. Windows 8获取开发者账户
  9. 【译】 AWK教程指南 11递归程序
  10. mysql-定时调用存储过程
  11. vedio_note_1
  12. Leetcode刷题C#版之Toeplitz Matrix
  13. shell:正则表达式和文本处理器
  14. Word报告自动生成(例如 导出数据库结构)
  15. shell---命令解析器---简单操作快捷键
  16. Python 较为完善的猜数字游戏
  17. Android横竖屏切换生命周期变化
  18. JSOUP如何POST只含JSON格式的数据
  19. 通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记
  20. django认证系统 Authentication

热门文章

  1. .netcore 在linux 上运行 Helllo World 例子
  2. linux动态内核模块编程-3
  3. android wifi框架
  4. JAVA基础知识总结9(特殊类)
  5. [poj2653]Pick-up sticks
  6. 恢复oracle的回收站的所有的表
  7. 关于A类,B类,C类IP地址的网段和主机数的计算方法
  8. Windows cmd 将命令(/指令)写到一个文件里,直接运行这个文件。提高工作效率
  9. 算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-006归并排序(Mergesort)
  10. Linux uname命令