|
阅读:1270回复:1
[求助]用.net连接SDE数据库
<P>我按帮助上的以下代码对SDE数据库进行连接,但是我想知道怎么能判断数据连接是否成功,希望各位能给我点提示,谢谢!</P>
<P>Public Function openSDEWorkspace(ByVal Server As String, ByVal Instance As String, ByVal User As String, _<BR> ByVal Password As String, Optional ByVal Database As String = "", _<BR> Optional ByVal version As String = "SDE.DEFAULT") As IWorkspace</P> <P> Dim pPropSet As IPropertySet = New PropertySet<BR> Dim pSdeFact As IWorkspaceFactory = New SdeWorkspaceFactory</P> <P> With pPropSet<BR> .SetProperty("SERVER", Server)<BR> .SetProperty("INSTANCE", Instance)<BR> .SetProperty("DATABASE", Database)<BR> .SetProperty("USER", User)<BR> .SetProperty("PASSWORD", Password)<BR> .SetProperty("VERSION", version)</P> <P> End With</P> <P> openSDEWorkspace = pSdeFact.Open(pPropSet, 0)</P> <P> End Function</P> |
|
|
1楼#
发布于:2007-05-21 14:26
<P>SdeWorkspaceFactory.WorkspaceStatus属性返回IEnumWorkspaceStatus</P>
<P>IEnumWorkspaceStatus.Next()方法返回IWorkspaceStatus</P> <P>IWorkspaceStatus的ConnectionStatus属性返回esriWorkspaceConnectionStatus </P> <P>根据返回的esriWorkspaceConnectionStatus判断,试试看行不行。</P> <P>esriWorkspaceConnectionStatus的枚举如下:</P> <P>Workspace Connection Status</P> <DIV class=tablediv> <TABLE cellSpacing=0> <TR vAlign=top> <TH width="43%">Constant</TH> <TH width="25%">Value</TH> <TH width="32%">Description</TH></TR> <TR vAlign=top> <TD class=t width="43%"><B>esriWCSUp</B></TD> <TD class=t align=left width="25%">0</TD> <TD class=t align=left width="32%">The workspace is connected.</TD></TR> <TR vAlign=top> <TD class=t width="43%"><B>esriWCSDown</B></TD> <TD class=t align=left width="25%">1</TD> <TD class=t align=left width="32%">The workspace has lost its connection.</TD></TR> <TR vAlign=top> <TD class=t width="43%"><B>esriWCSAvailable</B></TD> <TD class=t align=left width="25%">2</TD> <TD class=t align=left width="32%"> <P>The workspace's connection was lost but attempts to re-connect (OpenAvailableWorkspace) should succeed.</P></TD></TR></TABLE></DIV> |
|