AE+C#如何创建和使用.sde连接
2013-12-05 10:43
260 查看
我们通过ArcCatalog工具连接ArcSDE管理的空间数据库的时候,都会在ArcCatalog中建立一个.sde文件,该文件为一个空间数据库连接文件,有了这个文件可以直接连接到空间数据库中去,那么在ArcEngine中是如何建立和使用这个.sde文件的呢?
以下为通过AE+C#建立和使用.sde文件的代码示例
//声明临时路径
string path =
@"d:\temp";
//
声明临时.sde文件名称
string sdeName =
@"localhost.sde";
string sdePath = path +
"\\" + sdeName;
// 如果已经存在了,则删除了重新创建
if (File.Exists(sdePath))
{
File.Delete(sdePath);
}
IWorkspaceFactory workspaceFactory =
newSdeWorkspaceFactoryClass();
//
创建.sde文件
IWorkspaceName workspaceName =workspaceFactory.Create(path, sdeName, ConnectSDE(true),
0);
//
使用.sde文件,通过.sde文件获取IWorkspace,之后就可以对数据库中的数据进行操作了
IWorkspace pWorkspace =workspaceFactory.OpenFromFile(sdePath, 0);
其中ConnectSDE(true)为获取IPropertySet接口的函数,样例代码如下
///<summary>
///设置SDE连接属性
///</summary>
///<paramname="ChkSdeLinkModle"></param>
///<returns>IPropertySet</returns>
publicstaticIPropertySet ConnectSDE(bool
ChkSdeLinkModle)
{
//定义一个属性
IPropertySet Propset =
newPropertySetClass();
if (ChkSdeLinkModle ==
true) //采用SDE连接
{
//设置数据库服务器名
Propset.SetProperty("SERVER",
"192.168.1.149");
//设置SDE的端口,这是安装时指定的,默认安装时"port:5151"
Propset.SetProperty("INSTANCE",
"port:5151");
//SDE的用户名
Propset.SetProperty("USER",
"sde");
//密码
Propset.SetProperty("PASSWORD",
"sde");
//设置数据库的名字,只有SQL
Server Informix 数据库才需要设置
Propset.SetProperty("DATABASE",
"orcl");
//SDE的版本,在这为默认版本
Propset.SetProperty("VERSION",
"SDE.DEFAULT");
}
else//直接连接
{
//设置数据库服务器名,如果是本机可以用"sde:sqlserver:.",直接连接会弹出选择数据库对话框,要求填入用户名密码
Propset.SetProperty("INSTANCE",
"sde:sqlserver:xxsde");
}
return Propset;
}
以下为通过AE+C#建立和使用.sde文件的代码示例
//声明临时路径
string path =
@"d:\temp";
//
声明临时.sde文件名称
string sdeName =
@"localhost.sde";
string sdePath = path +
"\\" + sdeName;
// 如果已经存在了,则删除了重新创建
if (File.Exists(sdePath))
{
File.Delete(sdePath);
}
IWorkspaceFactory workspaceFactory =
newSdeWorkspaceFactoryClass();
//
创建.sde文件
IWorkspaceName workspaceName =workspaceFactory.Create(path, sdeName, ConnectSDE(true),
0);
//
使用.sde文件,通过.sde文件获取IWorkspace,之后就可以对数据库中的数据进行操作了
IWorkspace pWorkspace =workspaceFactory.OpenFromFile(sdePath, 0);
其中ConnectSDE(true)为获取IPropertySet接口的函数,样例代码如下
///<summary>
///设置SDE连接属性
///</summary>
///<paramname="ChkSdeLinkModle"></param>
///<returns>IPropertySet</returns>
publicstaticIPropertySet ConnectSDE(bool
ChkSdeLinkModle)
{
//定义一个属性
IPropertySet Propset =
newPropertySetClass();
if (ChkSdeLinkModle ==
true) //采用SDE连接
{
//设置数据库服务器名
Propset.SetProperty("SERVER",
"192.168.1.149");
//设置SDE的端口,这是安装时指定的,默认安装时"port:5151"
Propset.SetProperty("INSTANCE",
"port:5151");
//SDE的用户名
Propset.SetProperty("USER",
"sde");
//密码
Propset.SetProperty("PASSWORD",
"sde");
//设置数据库的名字,只有SQL
Server Informix 数据库才需要设置
Propset.SetProperty("DATABASE",
"orcl");
//SDE的版本,在这为默认版本
Propset.SetProperty("VERSION",
"SDE.DEFAULT");
}
else//直接连接
{
//设置数据库服务器名,如果是本机可以用"sde:sqlserver:.",直接连接会弹出选择数据库对话框,要求填入用户名密码
Propset.SetProperty("INSTANCE",
"sde:sqlserver:xxsde");
}
return Propset;
}
相关文章推荐
- 创建Accress 数据库连接文件UDL/如何使用 ADO 的数据链接文件
- C# 如何使用 svcutil.exe 创建 WCF 客户端代码
- 详解如何使用C#.NET进行注册表项和键值的创建、删除、修改、获取等操作
- WPF中如何使用C#创建DataTemplate数据模版
- C#如何使用GetTcpTable API获取TCP/IP连接信息
- 如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)
- 如何使用C#创建Windows Webcam应用
- 如何使用C#创建一个三层的数据库应用程序
- Excel中 如何使用不连贯的数据来创建图表(C#)
- 如何通过使用 ADO.NET 2005 和 Visual C# 2005 或使用 ADO.NET 和 Visual C# .NET 连接到数据库并运行命令
- c# 如何使用wlanapi连接电脑到wifi
- 如何:创建和使用 C# DLL(C# 编程指南)
- 如何创建一个映射驱动器使用的网络连接对话框
- 如何:创建和使用 C# DLL类库文件
- 如何使用 Visual C# .NET 创建 ASP.NET HTTP 模块
- 如何使用C#连接dbf数据库
- c#如何使用webservice、存储过程及存储过程的创建(简单模仿类似QQ统计用户在线时间为例)
- Windows 8 Metro应用中使用C#连接SQLite及创建数据库,数据表的增删改查
- 在.net平台上如何创建和使用web 服务(C#)
- C#中如何创建、生成以及使用DLL