mxd.findAndReplaceWorkspacePathsメソッドを使用すると、MXDが更新され、.sde接続ファイルが再び移動するパスが、すべてのデータソースが再び機能しなくなります。
MXDの目次の各SDEレイヤーを永続的に更新して、SDEサーバーとサービスを永続的に保存する方法はありますか?つまり。PyhtonでpythonまたはArcObjectsを使用して、MXDの各SDEレイヤーのサーバーとインスタンスを置き換えるだけですか?
@マット、それは完全に正しいとは思いません。ArcMapは、レイヤー内に保持されている接続プロパティを使用します。SDE接続ファイルは二度と参照されません。そのパスはメタデータのみです。ここでの問題は、arcpyデータソースの置換方法に固有のようです。ArcObjectsで接続ファイルを使用せずに(たとえば、IWorkspaceNameインターフェイスを使用して)接続プロパティを確実に設定できます。ただし、arcpyでは、提供されるメソッドに制限されます。
—
blah238
@matt正解です。私はArcpyメソッドを使用しています。各レイヤーの接続プロパティを「保存」できません。mxd.save後の接続ファイルが残っパスから接続プロパティを取得するための依存()またはmxd.saveACopy()
—
MMV
"Database Connections\Connection to Foobar.sde"
。サーバーとサービスの情報を直接渡すか、直接保存する方法はありません。私はされるだろう喜んで間違って証明すること。動的に生成されたsdeファイルをmxdと同じディレクトリ、またはおそらくmxd内に格納するハックを想像して、代わりにそれを参照することができます。しかし、それを実装する方法がわかりません。