YouTube | Facebook | Twitter  Feed

MXD の SDE データ ソースを再設定

2016/9/1 (木)

Private Sub ReConnectToSDE()
    Dim pMapDocument As IMapDocument
    Set pMapDocument = New MapDocument
    pMapDocument.Open "D:\Workspace\Support\PathA.mxd"          '対象マップ ドキュメント
     
    Dim intMap As Integer
     
    For intMap = 0 To pMapDocument.MapCount - 1
        
        Dim pMap As IMap
        Set pMap = pMapDocument.Map(intMap)
                 
        Dim pLayers As IEnumLayer
        Set pLayers = pMap.Layers
         
        Dim pLayer As ILayer
        Set pLayer = pLayers.Next
         
        Do Until pLayer Is Nothing
             
            Dim pPropertySet As IPropertySet
            Set pPropertySet = New PropertySet
             
            'ArcSDE接続情報
            With pPropertySet
                .SetProperty "Server", "ServerName"               'サーバ
                .SetProperty "Instance", "5151"                 'インスタンス
                .SetProperty "Database", ""                     'データベース
                .SetProperty "user", "UserName"                    'ユーザ名
                .SetProperty "password", "UserPass"              'パスワード
                .SetProperty "version", "SDE.DEFAULT"           'バージョン
            End With
             
            Dim pDataLayer As IDataLayer
            Set pDataLayer = pLayer
             
            Dim pDatasetName As IDatasetName
            Set pDatasetName = pDataLayer.DataSourceName
             
            Dim pWorkspaceName As IWorkspaceName
            Set pWorkspaceName = New WorkspaceName
             
            pWorkspaceName.WorkspaceFactoryProgID = "esriDataSourcesGDB.SdeWorkspaceFactory"
            pWorkspaceName.ConnectionProperties = pPropertySet  'ArcSDE接続情報
             
            pDatasetName.Name = "aaa"                           'フィーチャクラス名
             
            Set pDatasetName.WorkspaceName = pWorkspaceName
             
            Set pLayer = pLayers.Next
             
        Loop
         
    Next intMap
     
    pMapDocument.Save True, False
    pMapDocument.Close
         
End Sub

関連記事

  • この記事を書いた人

羽田 康祐

好きな地図投影法 はパース・クィンカンシャル図法とマクブライド・トーマス平極四次曲線図法。広島市出身。GIS上級技術者、Esri認定インストラクター、測量士補、潜水士、元PADIダイブマスター、四アマ。GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、発言は個人の見解です。

-プログラミング, ArcGIS
-,

© 2021 WINGFIELD since1981