投稿日 | : 2007/07/06(Fri) 14:05 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: OSのキャッシュについて |
> Cnn.Properties("Jet OLEDB:Transaction Commit Mode") = 1 ←ここ
一応それで動作しますが、できれば
Cnn.Properties(…).Value = 〜
の構文を使うべきかと。
> (1)何か特別な方法でOSのキャッシュをクリアする方法があるのでしょうか?
ライトキャッシュの内容がクリアされてしまってまずいのでは?(書き込みが失敗してしまう)
それに、そもそも最初からキャッシュさせないモードで書き込みを行っているならば、
キャッシュをクリアさせる必要もありませんよね。
> (2)Cnn.Close、Set Cnn = NothingでOSのキャッシュもクリアされるのでしょうか?
独立しています。OS キャッシュの動作とは無関係です。
> Public Sub sSQL_EXECUTE(ByRef mySQL As String, ByRef Cnn As ADODB.Connection)
今回の場合、どちらも ByVal で十分でしょう。
また、ADO オブジェクトの ByRef 渡しは避けた方が無難です。
下記のような問題も報告されていますし。
http://support.microsoft.com/kb/264701/ja
> Dim Cat As New ADOX.Catalog
宣言時に New をつける構文は、あまりお奨めできません。