プログラムでデータベースを マウント/ディスマウント する方法を教えてください。

データベースの マウント/ディスマウント をコマンドから実行するには、%SYSネームスペースにある、SYS.Database クラスを使用します。

実行手順は以下の通りです。

1) データベースのインスタンスをオープンする

 %OpenId() メソッドを実行します。

 メソッドの引数には、データベースディレクトリを二重引用符で括り、指定します。

2) Mount()/Dismount() メソッドを実行する

 1)でオープンしたインスタンスに対して、マウント:Mount()、ディスマウント:Dismount() メソッドを実行します。

 メソッド実行後、ステータスが返ります。(1は成功、それ以外は失敗)
 メモ: 失敗のステータスが戻る場合は、以下メソッドを使用して、失敗の原因を確認してください。

 do $system.OBJ.DisplayError(<ステータスが入った変数>)


コマンド実行例は、以下の通りです。(%SYSネームスペースに移動後、実行してください。)

★ディスマウント

 // データベースのインスタンスを データベースディレクトリを指定してオープン
 set db=##Class(SYS.Database).%OpenId("c:\intersystems\cache\mgr\samples")
 // ディスマウント
 set result=db.Dismount()  // ※成功したら1、失敗で0 
 //マウントの確認
 set mounted=db.Mounted  // ※マウントの場合1、ディスマウントの場合0

または

set result= ##class(SYS.Database).DismountDatabase("c:\intersystems\cache\mgr\samples")

★マウント

 // データベースのインスタンスを データベースディレクトリを指定してオープン
 set db=##Class(SYS.Database).%OpenId("c:\intersystems\cache\mgr\samples")

 //マウント
 set result=db.Mount()  // ※成功したら1、失敗で0
 //マウントの確認
 set mounted=db.Mounted  // ※マウントの場合1、ディスマウントの場合0

または

set result= ##class(SYS.Database).MountDatabase("c:\intersystems\cache\mgr\samples")
該当する製品: Caché, Ensemble, 旧HealthShare, IRIS Data Platform, IRIS for Health
関連トピック:
添付ファイル:

アンケートにご協力をお願いします
このトピックは参考になりましたか?
このトピックに関するお問い合わせ

FAQトップに戻る