blob: 51f9fdce73cd76ae8c9249d3185acc6d0ea8b552 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
---
title: mozIStorageService
slug: mozIStorageService
---
<p>このインタフェースを使うことでデータベースへの<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIStorageConnection" title="">mozIStorageConnection</a></code>を開くことができます、また開かれていないデータベースファイルのバックアップを作成することもできます。</p>
<p></p><div style="border: solid #ddd 2px; margin-bottom: 12px;">
<div style="background: #eee; padding: 2px;"><code><a href="https://dxr.mozilla.org/mozilla-central/source/storage/public/mozIStorageService.idl" rel="custom">storage/public/mozIStorageService.idl</a></code><span style="text-align: right; float: right;"><a href="/ja/docs/Interfaces/About_Scriptable_Interfaces" style="color: #00cc00; font-weight: 700;">Scriptable</a></span></div>
<span style="padding: 4px 2px;">
<i>Please add a summary to this article.</i>
</span>
<div style="background: #eee; padding: 2px;">
<span> </span>
<span style="text-align: right; float: right;">最終更新: Gecko 1.9 (Firefox 3)</span></div>
</div><p></p>
<p>継承元: <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISupports" title="">nsISupports</a></code></p>
<h2 id="メソッド概要">メソッド概要</h2>
<table class="standard-table">
<tbody>
<tr>
<td><code><code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code> <a href="#backupDatabaseFile.28.29">backupDatabaseFile</a>(in <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code> aDBFile, in AString aBackupFileName, [optional] in <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code> aBackupParentDirectory);</code></td>
</tr>
<tr>
<td><code><code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIStorageConnection" title="">mozIStorageConnection</a></code> <a href="#openDatabase.28.29">openDatabase</a>(in <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code> aDatabaseFile);</code></td>
</tr>
<tr>
<td><code><code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIStorageConnection" title="">mozIStorageConnection</a></code> <a href="#openSpecialDatabase.28.29">openSpecialDatabase</a>(in string aStorageKey);</code></td>
</tr>
<tr>
<td><code><code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIStorageConnection" title="">mozIStorageConnection</a></code> <a href="#openUnsharedDatabase.28.29">openUnsharedDatabase</a>(in <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code> aDatabaseFile);</code></td>
</tr>
</tbody>
</table>
<h3 id="メソッド">メソッド</h3>
<h3 id="backupDatabaseFile.28.29" name="backupDatabaseFile.28.29">backupDatabaseFile()</h3>
<p>指定されたファイルのバックアップを作成します。データベースは開かれていない必要があります、またはこのメソッドを呼び出す際にデータベースに対する操作が行われないことが確かである必要があります。指定されたファイル名はあくまでもサジェスチョンになります。すでにファイル名が使われている場合、ユニークなファイル名になるように処理されます。実際のバックアップファイルは戻り値になり、実際のファイル名もそこから取得することができます。</p>
<pre>nsIFile backupDatabaseFile(
in nsIFile aDBFile,
in AString aBackupFileName,
[optional] in nsIFile aBackupParentDirectory
);
</pre>
<h6 id="引数">引数</h6>
<dl>
<dt>
aDBFile</dt>
<dd>
バックアップを取るデータベースファイル</dd>
<dt>
aBackupFileName</dt>
<dd>
新しく作成するバックアップファイルの名前</dd>
<dt>
aBackupParentDirectory</dt>
<dd>
バックアップファイルを格納するディレクトリの名前。この引数が指定されない場合はオリジナルのデータベースファイルと同じ場所にバックアップファイルが作成されます。</dd>
</dl>
<h6 id="戻り値">戻り値</h6>
<p>新しいバックアップデータベースファイルを意味する<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code>オブジェクト</p>
<h3 id="openSpecialDatabase.28.29" name="openSpecialDatabase.28.29">openSpecialDatabase()</h3>
<p>要求されたストレージのタイプを特定する命名された特別なデータベースストレージへの接続を開きます。</p>
<p></p><div class="blockIndicator note"><strong>註:</strong> プロファイルデータベースへはメインスレッドからのみアクセスしてください。(他の呼び出しが利用している可能性があります。)</div><p></p>
<h6 id="引数_2">引数</h6>
<dl>
<dt>
aStorageKey</dt>
<dd>
要求されたストレージタイプを特定するキー文字列。"profile"および"memory"が有効です。</dd>
</dl>
<h6 id="戻り値_2">戻り値</h6>
<p>指定されたデータベースへの接続を提供する新しい<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIStorageConnection" title="">mozIStorageConnection</a></code>オブジェクト</p>
<h6 id="例外">例外</h6>
<dl>
<dt>
NS_ERROR_INVALID_ARG</dt>
<dd>
<code>aStorageKey</code>が不正な場合</dd>
</dl>
<h3 id="openDatabase.28.29" name="openDatabase.28.29">openDatabase()</h3>
<p>指定されたファイルへのデータベース接続を開きます。このメソッドが<code>NS_ERROR_FILE_CORRUPTED</code>例外をスローする場合、<code><a href="https://developer.mozilla.org/ja/docs/XPCOM_Interface_Reference/mozIStorageService#backupDatabaseFile()">mozIStorageService.backupDatabaseFile()</a></code>メソッドをデータベースをバックアップするために呼び出すことが推奨されます。こうすることでユーザデータの喪失を防ぐことができます。(現在失われたデータを復旧する手段はありません。)</p>
<p></p><div class="blockIndicator warning">
<p><strong>警告:</strong> 単一のファイルに対して複数の接続を確立する場合、<strong>必ず</strong>毎回大文字小文字を含め<strong>正確に同じ名前を</strong>使用してください。SQLiteのプログラムは既に接続が開かれているかどうかを調べるために、単純な文字列比較によって判断しています。"Foo.sqlite" と "foo.sqlite" により接続を開いた場合はあなたのデータベースは<strong>破損してしまう</strong>でしょう。</p>
</div><p></p>
<p>もし、仮想テーブルをデータベース中に含むのであれば(例えば、全文インデックスなど)、<code><a href="https://developer.mozilla.org/ja/docs/XPCOM_Interface_Reference/mozIStorageService#openUnsharedDatabase()">mozIStorageService.openUnsharedDatabase()</a></code>を開く際に使うべきです。なぜならばこのようなテーブルは共有キャッシュが使えないためです。このメソッドを仮想テーブルを含むデータベースへの接続を開くために用いた場合、データベースの破損と<code>NS_ERROR_FILE_CORRUPTED</code>例外のスローが発生するでしょう。</p>
<pre>mozIStorageConnection openDatabase(
in nsIFile aDatabaseFile
);
</pre>
<h6 id="引数_3">引数</h6>
<dl>
<dt>
aDatabaseFile</dt>
<dd>
データベースとして開くための<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code>オブジェクト</dd>
</dl>
<h6 id="戻り値_3">戻り値</h6>
<p>開かれたデータベース接続である<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIStorageConnection" title="">mozIStorageConnection</a></code>オブジェクト</p>
<h6 id="例外_2">例外</h6>
<dl>
<dt>
NS_ERROR_FAILURE</dt>
<dd>
データベースを開こうとした際にエラーが起こった場合発生</dd>
<dt>
NS_ERROR_FILE_CORRUPTED</dt>
<dd>
データベースファイルが破損した場合、またはデータベースが(このメソッドでは対応していない)仮想テーブルを含む場合に発生</dd>
<dt>
NS_ERROR_OUT_OF_MEMORY</dt>
<dd>
新しいストレージオブジェクトの割り当てが失敗した場合に発生</dd>
</dl>
<h3 id="openUnsharedDatabase.28.29" name="openUnsharedDatabase.28.29">openUnsharedDatabase()</h3>
<p>共有キャッシュを使わずに指定されたファイルへのデータベース接続を開きます。このメソッドがNS_ERROR_FILE_CORRUPTED例外をスローする場合、<code><a href="https://developer.mozilla.org/ja/docs/XPCOM_Interface_Reference/mozIStorageService#backupDatabaseFile()">mozIStorageService.backupDatabaseFile()</a></code>メソッドをデータベースバックアップのために呼び出すことが推奨されます。こうすることでユーザデータの喪失を防ぐことができます。(現在失われたデータを復旧する手段はありません。)</p>
<p></p><div class="blockIndicator warning">
<p><strong>警告:</strong> 単一のファイルに対して複数の接続を確立する場合、<strong>必ず</strong>毎回大文字小文字を含め<strong>正確に同じ名前を</strong>使用してください。SQLiteのプログラムは既に接続が開かれているかどうかを調べるために、単純な文字列比較によって判断しています。"Foo.sqlite" と "foo.sqlite" により接続を開いた場合はあなたのデータベースは<strong>破損してしまう</strong>でしょう。</p>
</div><p></p>
<pre>mozIStorageConnection openUnsharedDatabase(
in nsIFile aDatabaseFile
);
</pre>
<h6 id="引数_4">引数</h6>
<dl>
<dt>
aDatabaseFile</dt>
<dd>
データベースとして開くための<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile" title="">nsIFile</a></code>オブジェクト</dd>
</dl>
<h6 id="戻り値_4">戻り値</h6>
<p>開かれたデータベース接続である<code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/mozIStorageConnection" title="">mozIStorageConnection</a></code>オブジェクト</p>
<h6 id="例外_3">例外</h6>
<dl>
<dt>
NS_ERROR_FAILURE</dt>
<dd>
データベースを開こうとした際にエラーが起こった場合発生</dd>
<dt>
NS_ERROR_FILE_CORRUPTED</dt>
<dd>
データベースファイルが破損した場合、またはデータベースが(このメソッドでは対応していない)仮想テーブルを含む場合に発生</dd>
<dt>
NS_ERROR_OUT_OF_MEMORY</dt>
<dd>
新しいストレージオブジェクトの割り当てが失敗した場合に発生</dd>
</dl>
<h3 id="参照">参照</h3>
<ul>
<li><a href="/en/Storage" title="en/Storage">Storage</a></li>
<li><a href="/en/mozIStorageConnection" title="en/mozIStorageConnection">mozIStorageConnection</a></li>
</ul>
<dl>
<dd>
</dd>
</dl>
|