c# 中SDE连接

SDE连接数据库有两种方式:直接连接和通过SDE连接;直接连接数据处理是在客户端,通过SDE连接数据处理在服务器端;两者只是 属性参数设置不同。下面是C#示例代码:
            IPropertySet oProperSet = new PropertySetClass();
            try
            {

                //服务器端
                oProperSet.SetProperty("Server", strServerName);
                //设置SDE的端口,这是安装时指定的,默认安装时"port:5151"
                oProperSet.SetProperty("Instance", strInstance);//default port:5151
                oProperSet.SetProperty("Database", strDatabaseName);
                oProperSet.SetProperty("User", strUser);
                oProperSet.SetProperty("Password", strPassword);
                oProperSet.SetProperty("Vesion", "SDE.DEFAULT");

                //客户端

                oProperSet.SetProperty("Server", null);
                oProperSet.SetProperty("Instance", strInstance);//if the database is oracle9i,then SDE:oracle9i;
                oProperSet.SetProperty("Database", strDatabaseName);
                oProperSet.SetProperty("User", strUser);
           oProperSet.SetProperty("Password", "");             

                IWorkspace oWorkspace = oWorkspaceFactory.Open(oProperSet,0); 

            }

客户端负载连接就是通过SDE访问数据表,并在本地完成对数据的各种操作(像空间分析,编辑等),而服务器端负载就是通过SDE访问数据表后,在服务器端完成对数据的各种操作,再把操作结果返回客户端。
因此即便服务器上SDE服务没有启动,采用客户端负载连接的方式也可以访问和操作SDE数据库,而服务器端负载连接只有在SDE服务启动后才能访问和操作SDE数据库。

posted @ 2008-06-04 15:41  zhh  阅读(2603)  评论(2编辑  收藏  举报