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

関連記事

  • この記事を書いた人

羽田 康祐

Esri認定インストラクター、GIS上級技術者、測量士補、潜水士。GISy / GISc とその関連分野である地理学・地図学について日々の出来事で学んだ記憶を記録するためにブログを書いています。行動原理は伊達と酔狂。好きな地形は圏谷。好きな地図投影法はパースクインカンシャル図法。呉市生まれ広島市出身。GIS を使った自己紹介はこちら

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

© 2020 WINGFIELD since1981