YouTube | Facebook | X(Twitter) | RSS

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エンジニア。GIS上級技術者、Esri認定インストラクター、CompTIA CTT+ Classroom Trainer、潜水士、PADIダイブマスター、四アマ。WordPress は 2.1 からのユーザーで歴だけは長い。 代表著書『"地図リテラシー入門―地図の正しい読み方・描き方がわかる』 GIS を使った自己紹介はこちら。ESRIジャパン(株)所属、元青山学院大学非常勤講師を兼務。日本地図学会第31期常任委員。発言は個人の見解です。

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