Access2007のmdbに30万件位のデータが入っていたのですが、
Postgresにデータを移し、AccessからADOで繋ぐといったスタイルに変更したところ、
重くてどうにもならないという事態になっております。
基本的にデータベースもADOも初心者なので、
元々無理があるのか、PCスペックが悪いのか、ADOの設定等が悪いのかがよくわかりません。
何か見るべきところがあればご教示いただけないでしょうか。
共通環境
OS:WindowsXP
CPU:アスロンの結構古い物
メモリ:300M位しかありません
旧環境:
フロントエンド:Access2007
バックエンド:Access2007 ( フロントと同一、データがそのまま入っている )
接続方法:特になし直接
速度:
単純に全データをデータシートビューに表示する場合は数秒
単純なWHERE句入りの検索時間も数秒
新環境:
フロントエンド:Access2007
バックエンド:Postgres( Windows版、フロントと同一PC )
接続方法:ADO(Postgres付属のOLE DB プロバイダ)
速度:
単純に全データをデータシートビューに表示するだけで硬直( OFFSET 0 LIMIT 3000等としても同様 )
検索:無理
※硬直時Windowsのページファイルサイズが1.5G位に・・・
※ちなみにpgAdminのツールで直接全データを表示するSELECTを実行した場合は30秒位で一応表示されます。
メモリ300MBでXP動かすのは問題外、そこにDBMS入れるなんてどうかしてる
EXCEL VBAから ADOを使って Paradoxにアクセス。
特定のDBを指定すると「ファイルが無い」と言われる。
BDEがインストールされていると、そちらのドライバを経由するらしく、
「ファイルが無い」と言われるDBにも接続できる。
Jetだけだと、何か制約がアルノ?
数年前の流れを真に受けてDAOからADOに移行したけど
結局DAOの方が使いやすいし合理的じゃないか?
ADOは構文が長くなるしAccessの生成クエリをそのまま流用できないのがなんとも。
MDBはDAO使い続けた奴が勝利で終結
MSSQL相手ならADOでいいんじゃね
317 :
NAME IS NULL:2010/05/25(火) 20:10:20 ID:p38fnkcg
accessのスレがないので、どこに書けばよいか分からなかったのですが、
access97とVC++でデータベース(DAO)のテストプログラムを作っています。
データベースファイルをオープンする時にロックファイルが出来ると
思う出のですが、*.mdbファイルを単体で開くと*.ldbはできるのですが、
プログラムから 例えば
CDaoDatabase mdb;
CDaoRecordset mrs(&mdb);
mdb.open(dbName,TRUE,FALSE);
mrs.Open(dbOpenDynaset, (LPCTSTR)sqlCmmandString,dbDenyWrite);
と実行しても排他的に機能せず、2個のプログラムを走らせ一方でオープン
しているのにもかかわらす、もう1つのプログラムからも開き更新することが出来て
しまいます。
openの第二引数の説明文が
「データベースを排他 (非共有) アクセスで開くときは TRUE を、共有アクセスで開くときは FALSE を
指定するブール値。この引数を省略すると、データベースは共有モードで開かれます。 」
となっています。
dbDenyWrite : ほかのユーザーはレコードを変更または追加できません
なにか別の所で排他的にアクセスする手続きをするのでしょうか?
CreateParameterの第1引数って、@有ってどういう意味?
SQLServerは@有?
daoってworkspaceとか要るんじゃなかったか?
Dim wksp as DAO.Workspace
Dim db as DAO.Database
Set wksp = DBEngine.Workspace(0)
Set db = wksp.OpenDatabase("MDBファイル名")
VB6からMDBファイルにアクセスしてるけど
こんな感じだな
321 :
SUPER:2010/12/21(火) 15:53:58 ID:efFYFReg
ADOでレコードを挿入する場合、下記のように
テーブルをオープンしていますが
このテーブルにデータが大量にあっても速度的には問題ないでしょうか?
SELECTで絞ったほうがいいでしょうか?
rs.Open "T_sample", cn, adOpenKeyset, adLockOptimistic
rs.AddNew "売上日", #12/31/2004#
322 :
NAME IS NULL:2011/01/03(月) 22:11:24 ID:Lq5mfyx5
質問です。
ADOでのSQL文で、
WHERE field1 like '%keyword%'
のような部分一致検索をする場合、
'%'や'_'などのワイルドカード文字そのものをキーワードに使いたい場合は
どのように記述すればいいのでしょうか?
>>322 任意の文字列%KEYWORD%任意の文字列
を検索したい場合
WHERE field1 like '%[%]keyword[%]%'
で良いのでは?
[ ] でくくる事によってエスケープしています _ も同様に[_]でOKのはず
324 :
322:2011/01/04(火) 23:00:11 ID:6ly9qemn
>>323 ありがとうございます。
ワイルドカード文字を[]で括ればいいんですね。
そこでもうひとつ質問をしたいのですが、like句の中で
'[' や ']' を含む文字列を検索したい場合はどういう書き方をすればいいでしょうか?
325 :
NAME IS NULL:2011/01/26(水) 20:04:51 ID:mxoKvC5i
どうやったらADOに慣れられるのか悩んでたが、ここのコメントみて安心した。
ありがとう。
DAOのほうが楽だ。
326 :
NAME IS NULL:2011/02/14(月) 12:55:38 ID:ia59wzr3
楽というかAccessだけで完結するならDAO
外部接続するならADOって漠然と認識してる
どっち使おうが大して変わらないって感じだけど、ADO.NETは全然違う
どっちの知識も役に立たない
M$は今後はPDOを推奨するっていってるらしいな・・・。
DelphiだとPELが一般的なんだろうが、俺は.Net派なんで詳しくないが、DDOはもう使われなくなったのか?
詳しい奴情報たのむ。
そんなことよりもなによりもSQL Serverの新しいやつはLEO使えだって・・・orz...
この業界変化早すぎ・・・
327>>M$は今後はPDOを推奨するっていってるらしいな・・・。
まじか!!!!!ABDじゃなかったのか、SLOがいいって噂だったよな・・・・。
じゃあSunもKDOになるのか?
KDOよりはSDOのほうがマシ
下流のやつらのくだらん戯言だな・・・
SKCとVDOが今後の主流。
それ以外はアホ
SKE派いる?
LMEでコネクション張ったらタイムアウトするんだけど、
なんでだろ?
教えてエロい人
LFOってサニタイズしてくれないんだね?
クォート処理みんなどうしてる?
やっぱFCO使うべき?
JDOってnoSQL系?
332です。
>>334トンクス
KSMがDVSしててEQBを使うってことね。
あとTMAってどうすればいいんだろう?
面白いと思ってるのお前だけだから
とっとと消えろカス
PPPするぞ
AKB誰に入れた?
ECBのコミちゃん
BBQってどう?
DELってしょぼいよね
QPIってなんだっけ?
TMO
SSD買ったどー
KY
そしてLTE
っっっ
w
SME96
教えてください。
GPMやSMOもこのスレですか?
DQM.netいれた?
EMKの深淵
358 :
NAME IS NULL:2012/08/21(火) 19:44:09.44 ID:y62bc5lV
ADOでcsvファイルをmdbファイルにインポートしたいんですが。
社内システムから出力したcsvファイルはどうしても
テーブル名が重複してしまいます。
なのでインポート前にcsvファイルの1行目を編集しようとしても、65000行以上あるのでexcel2003では再保存できません。
仕方なくテキストファイルとして文字列を変更しようと
思うのですが、他によい方法はございますでしょうか。
テーブル名ってファイル中のデータやヘッダに関係ないと思うんだが
テーブル名が重複ってのはどういう状況をいってるんだ
360 :
NAME IS NULL:
犯罪者個人に対して告訴状を違法派遣・偽装請負・偽装出向・多重派遣の被害者が作成(刑事告訴は無料) or 司法書士が代筆(料金は5万円ぐらい)※コピペ歓迎
↓
告訴状を【検察の直告班】に郵便局の内容証明付で送付(疎明資料・証拠にはICレコーダー、スマホによる録音が適しています)
↓
審査 → 不受理 → 告訴状再提出または刑法 第193条で訴えを起こす
↓
受理 → 告訴事実を認め示談交渉(↓) →示談成立 → 法廷相場50〜100万円の示談金 ※示談拒否が良い
↓ ↓
事案化← 前科あり ←示談不成立(↓)→ 示談外交渉→ 犯罪者の年収半額×最大懲役年数の和解金支払い※推奨
↓ ↓
↓ 起訴 →公判 → 罰金刑=前科(起訴事実を認めてるため)→追討ち民事訴訟
↓
審査 → 起訴(強制捜査・留置場)→ 公判 → 懲役刑などの厳罰(反省が認められないため)→追討ち民事訴訟
↓
不起訴、起訴猶予
↓
検察審査会法第30条(検察審査会へ申し立て)→ 起訴 → 起訴後は同上
刑法 第193条(公務員職権濫用)で検察事務官を刑事告訴 → 同上
◎告訴→告訴受理→示談交渉→厳罰を求め示談不成立→示談外交渉→和解金支払い・和解契約(公正証書・即決和解で秘密保持契約)
◎偽装請負・出向・違法派遣事件では派遣・出向先両方の代表者、役員、現場責任者に告訴できます。
前科がついた犯罪者が法人の代表であれば公的な入札からの排除、取引先や顧客との契約解除など社会的制裁・批判に晒されることから辞職または解任が妥当、役員・社員であれば懲戒を想定。
◎事業者内部の加害関係者による刑事告発(刑事訴訟法239条1項)も可能です。
加害者本人、管理間接部門の社員が刑事告発に踏み切る場合も和解金による解決が妥当です。
注意:告訴が受理されない理由
●3年間(※)の時効が過ぎたもの ※違法派遣
●同一事実について過去に告訴取消しがあったもの
●関連する民事訴訟を有利に導く目的の場合
●証拠が希薄なもの ※被害者が契約時に違法派遣・偽装請負・多重派遣と知っていても刑事告訴は有効です。