1 :
名無しさん@お腹いっぱい。 :
03/07/24 15:23 ID:CSftoEyv でわ どうぞ
2ゲッツ ADO使ってまつ。
3ゲッツ いまだにDAO使ってまつ。
4 :
名無しさん@お腹いっぱい。 :03/07/25 01:41 ID:5JcyhWeh
4ゲッツ 挙動不審。
5 :
bd :03/07/25 12:43 ID:LAVHBhck
5ゲッツ 昔、RDO使いました。
ODAはどうですか?
7 :
名無しさん@お腹いっぱい。 :03/07/26 21:31 ID:elfzkiv/
ADOは便利で良い
あぼーん
9 :
名無しさん@お腹いっぱい。 :03/07/27 17:55 ID:NiRE5fLb
とりあえず触り始めるなら何から始めるのがいいの?
10 :
名無しさん@お腹いっぱい。 :03/07/27 21:49 ID:0H3QzBoa
とりあえずならEXCELとか
つうか、>1は「ミドルウェア」という言葉を知らんのか。
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
13 :
:03/08/11 15:57 ID:???
OLE DB との関係を知りたい。
14 :
山崎 渉 :03/08/15 23:05 ID:???
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
15 :
名無しさん@お腹いっぱい。 :03/08/16 21:57 ID:T73IrABO
ADO2.7は完成に近いな ADO.NETはベータ版といっても過言ではない(w
16 :
:03/09/02 18:22 ID:QN2j0ONe
MDB ファイルにアクセスするためのOLE DB のプロバイダとして、 次の3つがあるらしいんですが、どれを選べばいいんでしょうか? Driver do Microsoft Access (*.MDB) Microsoft Access Driver (*.MDB) Microsoft Access-Treiber Driver (*.MDB)
17 :
名無しさん@お腹いっぱい。 :03/09/02 18:48 ID:am2gqDXu
18 :
名無しさん@お腹いっぱい。 :03/09/03 12:05 ID:N3LmD+Lo
>16 Microsoft Access Driver (*.MDB) かな これしか使ったことないや
19 :
名無しさん@お腹いっぱい。 :03/09/03 12:07 ID:N3LmD+Lo
VB6からADO使うとき 参照設定を使います? それともCreateObjectしてます? それぞれのメリット、デメリットを教えてください。
>19 アーリーバインディング、レイトバインディングについてぐぐれば自ずと答えは見つかるであろう。 もしくは、マ板VBスレかな。
21 :
名無しさん@お腹いっぱい。 :03/09/03 19:12 ID:N3LmD+Lo
>20 さんきゅ その辺はなんとなくはわかっている。 確かにここで聞く内容ではないかもしれないが... 参照設定でADO2.7を指定したとして コンパイルしたものを動かす時にADO2.8が入っていたら 使われるのはどっち? あと、この場合にCreateObjectなら最新の2.8が使われる?
あぼーん
DAOのころは、参照設定で3.5を指定しといて 実行環境に3.6しか無かった場合、FormatとかLeft関数で固まるというのが定番だったが。 んで、結局CreateObjectに書き換えるハメになり、参照設定の存在意義に激しく疑問を持ったりする。 ADOも同じでは?
24 :
:03/10/02 22:56 ID:eBGDKX8D
25 :
:03/10/03 12:49 ID:nrvZVvZS
MDB ファイルにおいて、フォームに関連付けられたレコードセットは Access 2000 では DAO の Recordset ですが、 Access 2003 では ADO の Recordset に変わっているのでしょうか?
26 :
:03/10/03 12:54 ID:nrvZVvZS
27 :
MDB ファイルにおいては :03/10/03 13:23 ID:nrvZVvZS
1) フォームの Recordset プロパティには ADODB.Recordset も DAO.Recordset も 突っ込むことが出来る。ただし、ADO.Recordset を突っ込んだ場合は、その インスタンスが MSDataShape / SQL Server OLEDB プロバイダで開かれている場合しか データの更新を行うことが出来ない。 2) Access 2002 以降では、他の OLEDB プロバイダで開かれている ADODB.Recordset のインスタンスをフォームの Recordset プロパティに代入した場合であっても、 データの更新を行うことが出来る。 ただしその Recordset インスタンスが unique はインデックスを含んでいなければならない。もちろん主キーでもいい。 ということらしい。
28 :
MSDataShape :03/10/06 19:27 ID:EXS7RuSj
29 :
MSDataShape :03/10/06 19:32 ID:EXS7RuSj
SQL Server に接続するときの ADO における接続文字列は次のようになります。
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=bsas
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9910/db_solu/ によると、サービスプロバイダとして MSDataShape を利用したときの接続文字列は次のようになります。
データプロバイダが SQL Server の場合
Provider=MSDataShape.1;Persist Security Info=True;Locale Identifier=1033;Data Source=bsas;User ID=sa;Password="""";Initial Catalog=order;Data Provider=SQLOLEDB.1
データプロバイダが Jet データベースエンジンの場合
Provider=MSDataShape.1;Persist Security Info=False;Data Source=order;Data Provider=MSDASQL
MSDataShape を使うときには別途 Data Provier を指定しなければなりませんが、
これはどのようなプロバイダでも指定できるのでしょうか?
プロバイダに結合を任せるとき グリッドコントロール等で階層表示させるときに使う
32 :
NAME IS NULL :03/10/24 08:15 ID:ESRhBeXa
>>27 > 1) フォームの Recordset プロパティには ADODB.Recordset も DAO.Recordset も
> 突っ込むことが出来る。ただし、ADO.Recordset を突っ込んだ場合は、その
> インスタンスが MSDataShape / SQL Server OLEDB プロバイダで開かれている場合しか
> データの更新を行うことが出来ない。
Access 2000 で ADODB.Recordset のインスタンス x を
フォームの Recordset プロパティに代入するには、
x が adOpenStatic で開かれている必要があります。
33 :
NAME IS NULL :03/10/24 08:15 ID:ESRhBeXa
>>32 とうぜん、 adOpenStatic で開いているわけですから、
更新は不可となります。
ADO.NETを勉強しています。
35 :
NAME IS NULL :03/10/31 11:38 ID:s8J5VFuX
ADO の接続文字列って、結局のところ UDL ファイルの中身と同じなんですよね? つーか、UDL ファイル = ADO の接続文字列 と思っていいんでしょうか?
36 :
NAME IS NULL :03/10/31 11:45 ID:s8J5VFuX
37 :
NAME IS NULL :03/10/31 13:54 ID:s8J5VFuX
ちょっと気になって、 UDL ファイルが何に関連付けられているか調べてみた。 [HKEY_CLASSES_ROOT\.UDL] @="MSDASC" だって… MSDASC ってなんじゃい…
38 :
NAME IS NULL :03/10/31 14:22 ID:s8J5VFuX
で、MSDASC 自体はこんな感じ。 [HKEY_CLASSES_ROOT\MSDASC] @="Microsoft Data Link" [HKEY_CLASSES_ROOT\MSDASC\CLSID] @="{CCB4EC60-B9DC-11D1-AC80-00A0C9034873}" [HKEY_CLASSES_ROOT\MSDASC\DefaultIcon] @="C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll,0" [HKEY_CLASSES_ROOT\MSDASC\shell] [HKEY_CLASSES_ROOT\MSDASC\shell\open] [HKEY_CLASSES_ROOT\MSDASC\shell\open\command] @="Rundll32.exe C:\\PROGRA~1\\COMMON~1\\System\\OLEDB~1\\oledb32.dll,OpenDSLFile %1" [HKEY_CLASSES_ROOT\MSDASC\shellex] [HKEY_CLASSES_ROOT\MSDASC\shellex\ContextMenuHandlers] [HKEY_CLASSES_ROOT\MSDASC\shellex\ContextMenuHandlers\{2206CDB2-19C1-11D1-89E0-00C04FD7A829}] [HKEY_CLASSES_ROOT\MSDASC\shellex\PropertySheetHandlers] [HKEY_CLASSES_ROOT\MSDASC\shellex\PropertySheetHandlers\{2206CDB2-19C1-11D1-89E0-00C04FD7A829}]
MSDASC.HLPを読むのだ
40 :
NAME IS NULL :03/10/31 16:42 ID:s8J5VFuX
>>39 え?なにそれ?そんなもんが…探してみる。
41 :
NAME IS NULL :03/12/04 23:22 ID:cBX51diu
ADOってAccess入れないと使えないんですか? 入れなくても使えるならどのDLLを取り込めばいいかきぼんぬ。
>>41 MDACってヤツをMSDNオンライソで探せ
43 :
NAME IS NULL :03/12/06 00:59 ID:6RBHB1qJ
>>41 OSにもよるが、2000/XPには標準で入ってる。
C:\Program Files\Common Files\System
ADO.NETってどうなんでつか
Microsoft SQL Server 2000 Desktop Engineを使うために ADO.NETによるデータベースの操作を今即席で覚えたところです。 取り合えず使えそう。
46 :
NAME IS NULL :03/12/14 17:36 ID:YVbPl7cU
VS.NETから使う場合って ADOを使った方が良い場合もあるの?
サーバカーソルが無いって聞いたけどマジで?
48 :
NAME IS NULL :03/12/16 07:23 ID:XzkZ95Zy
ADOとADO.NETを使い分けるって事??
49 :
NAME IS NULL :03/12/20 23:55 ID:8atjTsXZ
ADO.NETってどうなん?
50 :
NAME IS NULL :03/12/21 15:55 ID:GuMnheLc
ADO.NETってどう
oo4o てどう
ADO.NETを卒研で使ってみました。 感想は普通です。
53 :
NAME IS NULL :04/01/11 18:03 ID:79wcrGCr
ADO.NETは、DataSetが面白い。 XMLを使ってみたいときなら、これだね。
ADO>RDO>>>>>>>>ADO.NET
55 :
NAME IS NULL :04/02/20 09:37 ID:seawwUcC
DAOが泣いた
56 :
NAME IS NULL :04/02/20 21:54 ID:C8z4sXKx
>>54 ODBC>ADO>RDO>>>>>>>>ADO.NET
ODBC API をCで直接叩くと速いぞ。
DAOがまた泣いた
58 :
NAME IS NULL :04/02/22 16:32 ID:0VBKEbgk
>>54 ADO.NET>ODBC>ADO>RDO>>>>>>>>ADO.NET(ODBC)
ODBCならADO.NETはのろい。専用のデータプロバイダ使うと速いぞ。
59 :
NAME IS NULL :04/02/23 09:54 ID:1zYluZIV
>>21 2.8は使われない。ADOは
バージョンが違うと別製品。
エラーがでるよ。
60 :
NAME IS NULL :04/03/03 16:43 ID:ObEOis4x
専用データプロバイダってSQLServer以外あるの?
OO4OO
ODP.NET
63 :
NAME IS NULL :04/03/04 08:37 ID:jFfTGRKb
>>59 2.6までしか入ってない環境で
2.7を指定したプログラム動かしてもエラー出ないよ
64 :
NAME IS NULL :04/03/04 09:22 ID:H6fUd10V
.NET の専用データプロバイダ。最初から付いているのは、SQLServer用と Oracle用だけ。 他の主なやつ == MySQL, SQLite, PostgreSQL, Firebird など == が探せばある。 ODBC から使うより、SQLite なんて50倍以上(当社比)やたら速くなった。
65 :
NAME IS NULL :04/03/04 18:47 ID:EIsw2cXw
>>21 ,63
スマンカッタ。
ADOのコンポーネント
(Connection等)は
VersionIndependentProgIDが指定されてるな。
バージョン依存はないね。
(ただし、バージョン特有のメソッドを使うとアウト)
はバージョンが違うとアウトなのはDAOだな
(たしか、コンパチブルバージョンあったが...)
66 :
65 :04/03/04 18:58 ID:EIsw2cXw
あれ?いやいや、参照設定(アーリーバインド)してると
ヤパーリ、エラーが出ると思うんだが...
VBならVersionIndependentProgIDで指定されている
名前(ADODB.Connection)で
CreateObjectで生成すれば、バージョン依存はないと思う。
>>63 の環境は2.7で指定してても
そうやってConnectionを生成してない?
Dim con as ADODB.Connection ←エラー
↓例え違うバージョンをしてもエラーにはならない
Dim con as Object
Set con = CreateObject("ADODB.Connection")
オレの認識違ってたかな?
67 :
65 :04/03/04 19:00 ID:EIsw2cXw
s/↓例え違うバージョンをしてもエラーにはならない ↓例え違うバージョンを指定しても、オブジェクトを使わなければ エラーにはならない。
68 :
65 :04/03/04 19:26 ID:EIsw2cXw
何度もスマン。 生成するなら Dim con as New ADODB.Connection だな。 つかCreateObjectで生成するなら 参照設定自体もいらないな。
69 :
63 :04/03/04 19:31 ID:jFfTGRKb
確かに動いてるのだが・・・ <VB> 参照設定で Microsoft ActiveX Data Object 2.7 Library にチェック Connectionは次のように宣言してる Dim l_conObj As New adodb.Connection <実行環境> MDAC2.6 普通に動いてます。 今までバージョンの違いでエラーになった事はないです。
>>69 実行環境にOfficeがインスコされてない?
Officeでもインスコされるし...
実行環境で(VBの開発環境や、
OfficeのVBエディタの参照設定で)
2.7がインスコされていないと確実に確認しているのなら、
オレの認識が違っていたよ。
そういえば以前、確かに2.5で参照設定したプログラムを、
2.1しか入っていない実行環境で動かしたとき、
エラーが出た記憶があったけど、2.7からは違うのか。
記憶違いだったかなあ。
試してみた。(ちょうどマシンがあった) ADO2.7で参照設定させたプログラムを ADO2.6ではないけど、ADO2.5まで しか実装されていない実行環境で動かしたら 「ライブラリが見つかりません。」 と出たよ。
72 :
NAME IS NULL :04/03/04 21:33 ID:jFfTGRKb
>>70 Microsoft の出してる MDACのバージョンをチェックできるツール(Component Checker 2.0)で
チェックしても 2.6SP1でした。
何か見落としてるのかなぁ...
>>72 Officeのインストールや他の製品、アプリの
インストールにより単体でADOがインストール
される場合もある。
MDACのバージョンチェックするより、
>>70 で書いてあるような方法や実際の
ライブラリファイルの存在をチェックした方
が確実。
さらに、ADOを使わせるアプリを配布するなら
同バージョンのMDACと一緒に配布するような
運用にした方がいい。
COMは便利だがその辺りの管理が大変
なんだよな...
ADO.NETのDatasetで今までと同等の排他を実現する方法がわからん・・・そろそろSEになるべきか
おぃおぃ、排他制御の分からないSEって怖杉。
76 :
NAME IS NULL :04/05/05 23:14 ID:RyOBSdl+
.com
77 :
NAME IS NULL :04/05/06 20:30 ID:S2jaAwgl
B'z BANZAI いい曲だよ
78 :
NAME IS NULL :04/05/07 12:01 ID:FHJB9r9E
データプロバイダ 直接、またはサービス プロバイダを介して ADO アプリケーションにデータを公開するソフトウェア。
79 :
NAME IS NULL :04/05/10 16:55 ID:p8dwGke5
ADO.NETで開発してるんだけど、本読んでもいまいちピンと来ない いままでAccess使ってたけど、Accessはまだ何とか思う様に使えてた VB.NET+ADO.NETは今までの感覚で使おうとするとイメージがわかない もっと実務的な説明をした本とかサイトとかない? そもそもADO.NETってどれくらい使われてるの?
80 :
NAME IS NULL :04/05/12 13:13 ID:ynkBniEJ
Accessの方がむしろ特殊だろ。インターフェースと データベースがごっちゃになってる方が気持ち悪いよ。 早いとこ、プログラム言語+DBMSという当たり前の 構文に慣れてくださいね。
81 :
NAME IS NULL :04/05/30 20:25 ID:bMXmpqAC
MSDE2kにDBをこさえてVB6(ADO)で繋いでいるのですが、 mdbファイルを扱うときに便利に使っていた Index を用いた Seek が出来ません。 Supportメソッドでチェックしても、Index/SeekともにFalseです。 そういうモノなんでしょうか? MSのサイトを探しても明確な説明を見つける事が出来ませんでした。 Googleも彷徨いましたが同じ結果でした。 サポートの不可情報を示したポインタをご存じでしたら教えて下さいです。
Seekはmdb専用
84 :
NAME IS NULL :04/06/13 12:37 ID:rgRT/Ze1
VBでADO使ってますが、 ADO 2.7 はwindows98では動かせないの? 今はXPは2.7 win98は 2.0を使って別々にBuildしている。 XPでADO2.0を参照してbuildしても動作しないし、よくわからん。
>84 つ[ Dim x as Object: Set x = createObject("ADODB.foobar") ]
86 :
NAME IS NULL :04/06/16 16:15 ID:OZVwZZ/3
ADO2.7をダウンロードしてインストールしたら WIN98でも動くようになりましたよ。 >85 CreateObjectだと Command、Recordset、Connectionに全部グローバルにしてクリエートしないと いけないでしょ。おまけに参照をしないと、CursorPositionなんかの パラメータが、UNKNOWNになるし、、、結局参照をしないといけんでしょ。 CreateObjectでやるメリットがわからん。
とりあえず、アーリーバインディングとレイトバインディングについて勉強しる。
88 :
85 :04/06/16 22:33 ID:???
>86
> CreateObjectだとCommand、Recordset、Connectionに全部グローバルにしてクリエートしないと
そうかな?自分はとりあえず使う関数内で個別に持たせたりしてるけど、まずいかな。
CreateObject だと、自動的に現地にあるものをバインドしてくれるから参照設定とかしなくて
いいので楽チンでええのね。
まあバージョン違いで動かないこともあるかもしれないけど、それはアーリバインディングでも
同じだし(バージョン相違を検知できると言えばメリットだけど…)
自分は VBScript か Access2000 VBA 使ってるから、前者はレイトバインディングのみ、
後者は ADOX とかをアーリバインディングで使うと参照設定してない環境でエラー吐くから
(はじめてでた時は「なんで date 関数しか使ってないところでエラーが…」とちと焦った)、
はじめから参照されてる ADO とかだけアーリバインディングで、ADOX や EXCEL とかは
開発中は参照設定しておいて、あらかたできるといちいち Dim objHoge as obj(ry とかしてみたり。
>87
こんなページ見つけた。難しいことは分からないけど、EBならデバッグが簡単で実行が速い、
LBなら多少バージョンとかが違っても適当にバインドしてくれるけど実行が遅いと言うことなのかな。
ttp://edocs.beasys.co.jp/e-docs/wls/docs81/jcom/overview.html#1107478
CreateObjectだと「この環境では使えません」的なエラー メッセージを出すのが楽だしな。Loopの中で毎回Createobject でもしない限り、早さも大して変わらんよ。 っていうかみんなADO派なの? おいらは今までDAO派だ。環境絡みのトラブルが少ないのと、 以前は大量の更新処理で明らかにレスポンスが良かったから。 (最近は違うのかな?)
90 :
85 :04/06/17 22:30 ID:???
>89 自分は DAO は Access(Jet) 特化で ADO は汎用と聞いたので、 「なら ADO のほうが使いまわしができて得そうだ」と ADO に転んだのでした。 実際に使ってみるとたいていの操作は ADO でできるし、DAO がいると 思ってたメタデータの操作も ADOX でできる、ということで DAO は あまり良く知らなかったり。 どうでもいいけど ADODB.Command のパラメタクエリを使うと手軽に SQL Injection 攻撃を回避できると聞いたのだけど、これって更新可能な RecordSet を取得したいときはどうするんだろう?
ADOでJetにINSERTしようとしたら、 日付/時間型がどうしてもエラーになる。 JetだとDAOのほうが無難なのかな?
日付を # で囲んでないとか?
>>92 囲っても駄目。
項目名がSQLの予約語と同じ場合もこけます。
DAOに比べて制約が多いような感じ。
94 :
92 :04/06/18 23:14 ID:???
こちらの Win2000SP4+IE6SP1 の環境では以下の SQL で正常にテーブル作成、挿入、選択できたけれど。 プロバイダは Microsoft.Jet.OLEDB.4.0 で、HTA(VBScript) から CreateObject("ADODB.Connection") で ADODB.Connection の生成を行い、 Connection.Execute で実行。 --- CREATE TABLE hoge( foo datetime, [long] datetime ); insert into hoge(foo, [long]) values(#2004/06/12#, #2003/12/12#); select * from hoge; ---
95 :
79 :04/07/01 12:20 ID:???
いろいろやってみて何とかVB.NET+ADO.NETが理解できるようになった。 自分のプログラミングスタイルみたいなものもできてきた。 しかしやっぱりADOでやってたときより手続きが多くて面倒に思う。 やってることはADOのときと変わらないのかもしれないが、 データセットへの読み込みと更新のタイミングを意識しないといけなかったり 考えることが多いように思う。
96 :
NAME IS NULL :04/07/02 10:12 ID:dsBwbedd
テーブルの抽出時のようにインデックスを使ってADOのレコードセットの検索や抽出を 高速にすることはできますか? テーブルにインデックスを設定しても rs.Supports(adIndex) はFalseになってしまいます。 rs.Index = "hoge" でエラーは出ないのですが速くはなりませんでした。 元々やりたかったのは、VBのDBグリッド上に全データを表示した状態で検索して 見つかったらその行に移動してハイライト表示、ということがやりたいのです。 (Accessのテーブル上で検索するようなイメージです)
97 :
NAME IS NULL :04/07/03 02:15 ID:y02b0D0u
>>95 俺はループ文が減ってかなりすっきりしたが。
データセットは無視してデータテーブルしか使ってないが。
ODP.NETは?
100 :
NAME IS NULL :04/07/15 21:55 ID:OWyB2Is1
age
101 :
NAME IS NULL :04/07/24 17:50 ID:dguKW2A+
とてつもなくアホな質問をさせて頂きますが、ADODB.Parameterプロパティを つかって、PostgreやMySQLなど他社のストアドプロシジャー内のパラメタを 操作することって可能なのでしょうか・・。 例えばDilection,DataType,NumericalScaleなどを指定してAppendする等。。
102 :
NAME IS NULL :04/08/12 00:37 ID:e6gyuWzU
とてつもなくアホな質問をさせて頂きますが、ADODB.Parameterプロパティを つかって、PostgreやMySQLなど他社のストアドプロシジャー内のパラメタを 操作することって可能なのでしょうか・・。 例えばDilection,DataType,NumericalScaleなどを指定してAppendする等。。
103 :
NAME IS NULL :04/08/24 13:20 ID:UZpf6U5w
104 :
NAME IS NULL :04/09/06 14:40 ID:WwQRpaCJ
VB.net ADO.net SQLSERVER2000にて Data Source=(local) Integrated Security=SSPI Initial Catalog=DBName で接続できているものを LAN上の別のマシンから接続するにはどこを直せばいいのでしょうか?
105 :
104 :04/09/06 15:43 ID:???
104は忘れてください・・・
>>95 でも、データベースとの接続を切って、ローカルで何でもできるようになったので、
融通が利くのは助かるよ。
カーソルにも縛られないしね。(場合によってはデメリットにもなるけど。)
>>106 ADO.NET で非接続をウリにしてるみたいだだけど。
これって実装はどうなってるの? 楽観的ロック手法を採ってるのか、
それとも平然とロストアップデートが発生するのか。
おれは更新する場合は、やっぱり更新ロックを獲得するほうが好き。
なので、非接続を使うのにはかなり抵抗がある。
108 :
NAME IS NULL :04/09/27 21:04:23 ID:XNBYnVX2
ADOとoo4oって混在させるとだめなの??
109 :
NAME IS NULL :04/09/27 21:09:29 ID:XNBYnVX2
↑Oracleに接続するとき
それならODP.NET使え
111 :
NAME IS NULL :04/09/29 10:16:42 ID:gfkc305Q
Linux で稼動している MySQL に接続するための OLE DB データプロバイダってどこにあるんでしょうか?
| | ∩___∩ | ぷらぷら | ノ _, ,_ ヽ (( | / ● ● | (=) | ( _●_) ミ _ (⌒) J )) 彡、 |∪| ノ ⊂⌒ヽ / ヽノ ヽ /⌒つ \ ヽ / ヽ / \_,,ノ |、_ノ
113 :
NAME IS NULL :04/10/24 23:33:58 ID:ISxKwZ7m
こんにちは 質問お願いします。 SQL Server2000をAccess2000のデータベースリンクでリンクを作ってDAOでアクセスしています。 この環境でデータのロックは可能でしょうか? トランザクションは使えるのですがロックの仕方が分からなくて・・・ 現在はフィールドに更新時間を持たせて、楽観的ロックみたいな感じで作っています。 しかし一部の画面で、開いた時に前もってレコードをロックしたいところがあるのです。 DAOでは無理だけどADOでは可能とか、そもそもAccessではそんな作り方はしないとか 何かアドバイスお願いいたします。
DAOだとJETのロック方法を取るからレコードロックはできないんじゃないかな
>>113 自前の排他テーブル作って管理すればいいんじゃないの?
116 :
113 :04/10/26 21:35:09 ID:???
>>114-115 レスありがとうございます。
やっぱり無理ですか。
そういうものだと思って違う方法を考えたいと思います。
排他管理テーブルは落ちた時の復帰方法を用意しないといけないので・・・
ありがとうございました。
排他制御についての疑問ですが あるプログラムAがテーブルAまたは、テーブルAをレコード単位でのロック をかけた場合、プログラムBからロックかけにいったらどうなるのでしょうか? (VB6.0 + ADO + SQLServer2000) くだらない質問ですが反応お願いします
どういうロックをかけるかによる。
mr.Open "select * from t from a <100", cn, adOpenDynamic, adLockPessimistic
>>118 こんな感じで行単位ロックかけてみたんですが
同じロックをプログラムA、次にプログラムBが実行しようとすると
Bはこけるのでしょうか?
mr.Open "select * from t where a <100", cn, adOpenDynamic, adLockPessimistic ↑間違い mr.Open "select * from t from a <100", cn, adOpenDynamic, adLockPessimistic ↑○ でした。すいません。 両方ともリードしたレコードセットをアクセスに書き込み それが成功すると、リードした内容だけにフラグを立てにいってます そのフラグの立て方なんですがアクセスの内容とリード元を再度 開きなおしてつき合わせフラグ更新してます。 こんな感じでよいのでしょか?
>>107 ええ、そうです。
CommandBuilderクラスとかを利用してUPDATE文やDELETE文を自動生成させた場合は、
WHERE文で、全ての列が行を取得した時と全く同じ値か、という条件が指定された更新文が作成されて、それを実行するという仕組み。
基本的には、行が変更されていたら更新文により影響を受けた行は0ですから、それを基に例外が発生と。
それで不十分なら、更新文は自分で作成することになり、更新日付とかの列を作ってチェックすることになるのかな。
ま、楽観的ロックではまずい場合は、SQL Serverなら、SqlTransactionクラスを利用してトランザクションを開始し、
ロック ヒント付きでSELECT文を発行して、ロックを掛けることになりますね。
122 :
ちょっとかじった程度 :04/11/05 12:24:51 ID:pLWjdrlp
一つお聞きしたいのですが、ゼンリン電子地図の編集機能で、地図内にピンを 立てたりできますよね?(知ってる人だけでいいです) このピンを消したり、色を変えたりしたいのですが、何かいい方法しりませんか? ゼンリンソフトのDBにアクセスして指示を与える感じになると思うのですが、、、 よくわかりません。当方、MSアクセスなら少々わかります。 その辺の説明の載っているサイト紹介でもいいです。
124 :
122 :04/11/06 23:53:31 ID:sbgXvQud
まー、そー言われると元も子も無いんですけど‥ わかりました、よそで聞きます。
htaのJScriptでちょっと使ってます。 んで質問なんですがConnectionってcloseしないとまずいですか? 最初は画面更新のたびにopen&closeしてたのですが無駄っぽいので 今は起動時に開いて開きっぱなしにしています。
ダオについて教えろ
DAOは終わっています。 乗り換え先はADO.NETです。
128 :
NAME IS NULL :04/11/14 16:26:47 ID:MDAlpVkU
DAOにトランザクション処理がないからって ADOのトランザクション処理だけ借りて その内側にDAOでデータにアクセスするというコードを見たことあるけど それっていいの?
>>128 DAO にも、BeginTrans/CommitTrans/Rollback メソッドと、トランザクションはあります。
ADO のそれと実装に違いがあるかまでは調べたことないけど。
130 :
NAME IS NULL :04/11/17 20:51:58 ID:/2/q9DVK
へー あったんだ 知らなかった
DAOというかMDBのトランザクションって単に実際の更新をCommitまで先延ばししてるだけな気がする。 確かめたわけじゃないけどどうなんだろう。
132 :
NAME IS NULL :04/11/23 17:28:50 ID:4wCfCYNp
ADO.NETって更新可能な結果セットをやめちゃったって理解でいいのかな? データを更新するならInsertやUpdateを投げろってことだよね。 DataAdapterやDataSetオブジェクト使って生成したソース見てると ADOとかのダイナセットやリザルトセットは裏側でこんなことをしてたんだ〜 って妙に感心するよ。
133 :
NAME IS NULL :04/11/23 17:35:54 ID:1rnKV2ym
>>132 SQL鯖の特性に合わせてルール変更ウマー
とか妄想してまつww
>>131 トランザクション開始時点で更新をオンメモリで行うそうな。だからトランザクションで囲んだ方が直接更新するよりパフォーマンスが上がる。
>>134 大規模な更新をする場合、
メモリ不足→仮想メモリへいったん入って更新される→却って遅くなる ってのは無いの?
Dim ac As Access.Application Dim o As Access.AccessObject Dim o2 As Object Set ac = CreateObject("c:\a.mdb") For Each o In ac.CurrentProject.AllReports Call ac.DoCmd.TransferDatabase(acExport, "Microsoft Access", "C:\c.mdb", acReport, o.Name, o.Name) Next For Each o2 In ac.CurrentDb.TableDefs If o2.Attributes = 0 Then Call ac.DoCmd.TransferDatabase(acExport, "Microsoft Access", "C:\c.mdb", acTable, o2.Name, o2.Name) End If Next ac.CloseCurrentDatabase ac.Quit
ADOで、mdbファイルに接続について質問です。(VB6) SQL文にVBAで定義した自作関数を使ったクエリを VB6から開くにはどのようにすればいいのでしょう? 開こうとすると、VBA関数が未定義というエラーが出て オープンできません。 どなたか、よろしくお願いします。
138 :
NAME IS NULL :04/12/07 20:21:14 ID:FdgLyTNz
あげてみます
137>VBに実行クエリを持つだけの話なんじゃないの? 実行マシンにAccessが入っていないならそうするしかない。
ConnectionStringの設定の仕方なんですがSqlServer2000に接続する場合 Driver=SQL Server; Provider=SQLOLEDB; の2種類があると思うのですが両者の違い、使い分けはありますか?
>>141 Provider=OLEDBプロバイダ、Driver=ODBCドライバって感じだったかと。
SQLServer2005Betaをみてたらまたなんか増えてる模様。
.NET Framework Data Provider for SQL Server
>>142 レスサンクスです
>Provider=OLEDBプロバイダ、Driver=ODBCドライバって感じだったかと。
ということはDriverで指定するとODBC経由で、OLEDBに比べて遅い接続ってことですかね?
>SQLServer2005Betaをみてたらまたなんか増えてる模様。
ってことはその増えたものはODBC経由でってことで
Driver=SQL Server
Driver=NET Framework Data Provider for SQL Server
の2種類を選択できるわけですか?
>>143 ADOはOLEDB専用なので本来はProviderのみ指定可能です。
ADOからODBCを使う場合はOLEDB Provider for ODBC(MSDASQL)を指定する必要があります。
この場合MSDASQLに渡すパラメータとして接続文字列の途中にDSN=かDriver=が出てきます。
さらにProviderを省略すると暗黙でOLEDB Provider for ODBCを指定したことになるので、
実質ADOからODBCが直接呼び出せてるように見えます。
NET Framework Data ProviderについてはOLEDBのマネージドコード版らしくADO.NET
(それも.NET2.0以降と思われる)からのみ利用可能のようです。
ADOからSQLServer2005に接続する場合はOLEDBプロバイダのSQL Native Client(SQLNCLI)を
使うかDRIVER=SQL Native Clientと同名のODBCドライバを使う必要があります。
ADO.NET(.NET2.0以降と思われる)からOLEDBやODBCに接続するために次のドライバがあります。
NET Framework Data Provider for OLEDB
NET Framework Data Provider for ODBC
もうわけわかめwせdrftgyふじこlp;
>>144 勉強になりました
>ADOはOLEDB専用なので本来はProviderのみ指定可能です。
.NETではOLEDBプロバイダのSQL Native Clientを使えってことですね
VB.NETで煮詰まってきますた。すいませんが質問させてくださいな。
主にDataGridで編集してるんですが、CommandBuilderで生成した
SQLを使って、DataAdapter.Updateを使いファイルに書き戻しを
しています。
このとき、「追加だけ」や「削除だけ」だと問題ないんですが、同
時に複数の操作をしてからVBアプリを再起動すると、追加した行が
DataGridに表示されません。DataViewで絞り込んだら出てくるん
ですが、なぜかテーブル全体表示だと見えないんです。
mdbファイルを自体をAccessで開いたら、きちんと書き込まれてま
す。そのままAccessで最適化を実行すると、それ以降はVBアプリ側
でもきちんと見えるようになるんですが、VBでいちいちJRO経由の最
適化をさせないといけないのでしょうか?
プログラムの起動時に力技を使って、JROからmdbファイルの最適化
をやったら、一応動くようにはなりました。でもこんな方法おかしい
と思うんで、私の知らない処理がまだあるのかと。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;306287 ぐぐってもこの手の情報は少なくて苦労してます。 (´・ω・`)
VB.NET初心者スレではなんとなくスルーされてしまいました。
CSVファイルを読み書きできるプロバイダってアリマセンか?
csv schema.ini adoでぐぐりぇ
150 :
NAME IS NULL :05/02/07 20:48:25 ID:51j7oZtE
DAOでIndexとSeekを多用したVBのプログラムを、MSSQLサーバ対応に 書き換えなければならないのですが、単純にFindFirstを使って書き換えると データが多い場合死ぬほど遅くて使い物になりません。 OpenRecordsetにSQL文を指定して検索すれば早いけど、その後Move系を 使うので検索でレコードセットが絞られてしまっているとマズーです。 同等のプログラムを新たに書くつもりにならないとダメですかね? プロジェクトが40個もあり、同名だがちょっとずつ分岐してるファイルが たくさんあるような、いかにも馬鹿な作りになっているシロモノなので、 できるだけ機械的な書き換えで済ませたかったのですが・・・
IndexとSeekを使ってるなら完全に作り直し。がんばれ。
エクセルからADO使ってmdbファイルを呼び出してるんですが 日付範囲の抽出はこんな感じで出来てるんですが Set cn = New Connection cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source = " & Path & "\DATA.mdb;" _ & "Jet OLEDB:Database Password=****;" cn.Open SelCmd = "SELECT * FROM TABLE00 " _ & "WHERE 日付 BETWEEN #" & Range("B3").Value & "# " _ & "AND #" & Range("B4").Value & "#" Set rs = New Recordset rs.Open SelCmd, cn Range("D11").CopyFromRecordset rs DATA.mdbのTABLE00に入ってるデータで IDの一番大きいデータ(最新のデータ)のrsを取り出す時は どうすればいいんでしょう
>>152 SelCmd = "SELECT * FROM TABLE00 " _
& "WHERE 日付 BETWEEN #" & Range("B3").Value & "# " _
& "AND #" & Range("B4").Value & "#" _
& " order by id desc"
>>153 有難うございます
order by 覚えました
Set rs = New Recordset
rs.Open SelCmd, cn
Sheet99.Range("D11").Value = rs(0)
153の後にこんな風に続ける事で最新の日付やIDを取得
できました、有難うございました
155 :
NAME IS NULL :2005/07/12(火) 13:15:18 ID:qalQqGrp
ADO遅いからODBC使ってる人いますか?
>>155 比べるならADOとRDO、OLEDBとODBCだろうな。
ADOを使うときOLEDB Provider for ODBCを呼び出してないか?
157 :
NAME IS NULL :2005/07/15(金) 21:55:46 ID:0n9RIwcP
mdacって最低じゃん?
ADOおそけりゃ、次はストアド作成だろう。
すいません 旧バージョンの質問ですが、エクセル相談所で聞いた所VBスレに行くように言われたのですが、 中身からこちらの方なら、と思いましたので。 EXCEL上でADOでパラメータクエリを作成し、複数のアクセスMDBファイルから クエリでデータを取得するプログラムを作っています。 このときいくつかのMDBには存在しないフィールドに対しても、クエリを実行するのですが、 当然エラーが出ます。 On Error Resume Next Set rs = New ADODB.Recordset Set rs = cmd.Execute としても、次に飛んでくれないで、黄色い表示のデバッグになってしまうのですが・・・・エラーメッセージは以下です。 "実行時エラー'-2147217904 (80040e10)': 1つ以上の必要なパラメータの値が設定されていません。 クエリや他の部分はフィールドが存在するときは正しく動いています。フィールド名を事前に取得して チェックさせれば良いのでしょうが、このエラーだけresumeが効かないのが理解できません。 ううADO.NET すれでも違うと言われ、こちらに来ました。orz
On Error Resume Next で飛ばせないエラーの条件って有ったな。具体的には忘れたが やっぱ確認するのがいいと思うけど *でとるとか
161 :
159 :2005/10/17(月) 20:34:45 ID:???
>>160 初めてレスがつきました。!!!やはりそういう条件があるのですか。
応急処置でADOXのカタログでフィールドをチェックして、あるものしかSQLをやらないようにしてます。
そのへん(On Error Resume Next )で調べてみます。ありがとうございます。
ADOとoo4oの共存って書き込みが前にあったけど まじめにこの問題と格闘した人っているかな。 まあ確かにアホかっていう命題ではあると思うんだけど。 で、目的はいわゆるコネクションを両者間で共有すること。 可能であるとかいうあいまいな話を聞いた。 理屈は以下のとおりらしい。 ADOでのOLEDBプロバイダはOracle製のものを使う。 Oracle Provider for OLE DBはOCI実装に依存している。 oo4oも然り。 ゆえにoo4oのクラスを駆使することにより可能になるとのこと。 確かにOraServerとかOraClientとかにその手の匂いが しないこともないんだけど、なんとも眉唾なんだよね。 散々調べたけどそのような情報は見つからない。。。 誰かこの手の情報って聞いたことありますか?
163 :
NAME IS NULL :2005/10/27(木) 15:35:55 ID:5e3kWZZu
質問なのであげときます
ホシュ
166 :
助けて! :2005/11/14(月) 02:37:30 ID:qOOpCT4Q
vBでDB2にデータを登録しようとすると、実行時エラーが出ます。 Error40002というエラーです。データベース名が定義されていないと 書いてあるのですが、どういうことでしょうか? 困ってます。 そして挫折気味です。 詳しいかた、よろしくお願いします。
167 :
NAME IS NULL :2005/11/14(月) 06:35:28 ID:qxPpoxFN
おっ!ここにもw 具体的にね。これじゃ答えようがありません。IBM DB2スレ参照
挫折したら?
169 :
ぷーさん :2005/11/28(月) 09:57:26 ID:FbPpvjD8
こんにちは。 はじめて、書き込みさせています。 Win2000-Pro VC6の環境で、参考書を元にして ADOを使ってmdbに接続するプログラムを作ってみました。 それをWinXP-Pro SP2の環境で動作させようとしたら、 データの書き込みが出来なくってしまいました。 WinXP-Pro SP1では、動作します。 Microsoftのページを見ていたら、SP2では、 「MDACのバージョンが2.8になり、既存のプログラムが動作しない不具合がある・・・・・」 との記述がありました。 自分のMDACのバージョンを調べたところ、2.7SP1でした。 参考書を元に以下の様なコードを頭に書いています。 ****<参考書からの抜粋でつかっている部分>***************** #include <comdef.h> #define INITGUID #import "c:\Program Files\common files\system\ado\msado15.dll" \ rename_namespace("AdoNS") rename("EOF","adoEOF") using namespace AdoNS; #include "icrsint.h" ***************************************** ファイルのバージョンは、これを使う! などありましたら。ご指導願います。
>>169 MDBが読取専用になっているとか。
発生しているエラーの内容や、MDBを開いているところ・クエリを発行しているところ等
を書いてないと詳細が分からないと思います。
171 :
ぷーさん :2005/11/28(月) 19:45:11 ID:FbPpvjD8
回答ありがとうございます。 mdbは読取専用にはなっていません。 エラーが発生しているわけでも無く、いきなり落ちてしまいます。 デバック環境を整えているところで、整ったら、どこで落ちているかを確認しようかと思っているところです。 省略して分かりづらいかもしれませんが、 データベースを開くところ、書き込むところは、以下の様になっています。 void オープン関数 { (省略) hr = m_pConnection.CreateInstance(__uuidof(Connection)); if(SUCCEEDED(hr)) { try { hr = m_pConnection->Open(_bstr_t(L"Provider = MSDASQL.1;Data Source = SYSDB;"),_bstr_t(L""),_bstr_t(L""),adOpenUnspecified); if(SUCCEEDED(hr)) { m_IsConnectionOpen = TRUE; } } catch(_com_error &e) { ErrorDisp(e,1); } } void 書き込み関数 { //データベースオープン関数呼び出し pRec->PutRefActiveConnection(m_pConnection); hr3 = pRec->Open(_variant_t(bstrToQuery),vNull,adOpenForwardOnly,adLockOptimistic,adCmdText); if(SUCCEEDED(hr3)) { //フィールド名定義 COleSafeArray vaFieldList; vaFieldList.CreateOneDim(VT_VARIANT,6); long lArrayIndex[1]; lArrayIndex[0] = 0; vaFieldList.PutElement(lArrayIndex,&(_variant_t("trtime"))); (省略) //値リスト配列 COleSafeArray vaValueList; vaValueList.CreateOneDim(VT_VARIANT,6); lArrayIndex[0] = 0; (省略) pRec->AddNew(vaFieldList,vaValueList); pRec->Close(); } }
>>171 >エラーが発生しているわけでも無く、いきなり落ちてしまいます。
catchしていないところで例外が発生したってところでしょうかね。
サンプルコードだと書き込み関数が怪しそうです。
>デバック環境を整えているところで、
まずはこれですね。これが難しければ、
- こまめにログをファイルに出す
- 怪しいところをほんのちょっとずつ取り除く→落ちなくなったら最後に取り除いたところが悪い
とか。
サンプルコードについてはなんとも。ODBC経由でつないでいるのが気になりますが。
(JETで直結の方がパフォーマンスが良いですし、余計な問題が起こりにくいかと)。
関係ないですが、VC++でこの形式のAddNewは面倒くさいですね。INSERT文を直接実行するか、
AddNew()->Fieldに値設定→Updateの方が簡単のような気もします。
173 :
ぷーさん :2005/11/29(火) 09:07:36 ID:X9SS2E6Z
参考書を元に作ってみたのですが、 やはり、いろいろな方法があるんですね。 もっと勉強しなくては、いけないですね。 とりあえず、PC買わないと始まりませんね!
ADOについて PC1 OfficeXP(2002) ADO参照設定の最新バージョン 2.8 PC2 Office2003 ADO参照設定の最新バージョン 2.5 これを2.8に統一したいけどどうやったらいいんでしょ?
最新のMDAC入れる
ADO で DB サーバから取得したレコードセットの内容を、DB に 反映させずにそのレコードセット内だけで自在に変更、並べ替え 出来る様な方法ってあるでしょうか?
構造体
RecordSet#CursorLocation = adUseClient RecordSet#Open sql, connection, adOpenStatic, adLockBatchOptimistic Set RecordSet#ActiveConnection = Nothing
ADO接続でdeleteやupdateした時って結果セットを返しませんよね? では、その時に何件deleteしたのかって拾う事はできないんでしょうか。 今、特に知りたいのはdeleteしたときの件数なんですけど。 環境 ADOライブラリ バージョン 2.8 WInxXP PRO Excel2002_VBA+MySQL 4.1.15 strSQL = "" strSQL = " delete from table where input_date < '" & del_date & "'" MgDB.Execute strSQL で、ここでこのdeleteした件数をしりたいなと思ってるんですけど。
>>181 発想の転換で、デリートする前に同じWHERE条件でカウントすればいいんでね?
183 :
181 :2005/12/24(土) 18:00:58 ID:???
その手がありましたか。 w thxです。
184 :
NAME IS NULL :2005/12/24(土) 19:24:20 ID:+e0JmEtY
>>181 MgDB.Execute sSql, recordCount, adCmdText
MsgBox recordCount & "件処理されました!"
↑こんなの出来なかったっけ?
185 :
181 :2005/12/24(土) 19:55:06 ID:???
>>184 おおおっ〜。出来ました!ばっちり表示されました!
Executeメソッドのパラメータでこう言う事が出来るの、初めて知りました。ありがとですm(__)m。
186 :
NAME IS NULL :2006/01/31(火) 20:31:15 ID:WTvW08xR
OS:XPPro ADO 2.8 RDB:MySQL 計算式や別名を使って列を導出してきた時、その列のコレクション名 ってどうなるんでしょうか? 例えば、 select tanka,suuryou,tanka * suuryou as kingaku でこの3列をもってきたい時に、tanka * suuryou の列をADOで持ってくるにはどうしたら良いのか?って事なんですけど。
187 :
186 :2006/01/31(火) 21:17:53 ID:WTvW08xR
自己解決 For i = 1 To wkRs1.Fields.Count MsgBox wkRs1.Fields(i - 1).Name Next で調べる事ができました。スレ汚しスマソです。
つーか、普通にas kingakuだからkingakuでないの?
いや、実際は長い式を as を使わずにやっててちと悩んでしまったもので、はて?と思ったしだいです。
190 :
NAME IS NULL :2006/02/08(水) 11:10:59 ID:6NVxJKps
MicrosoftAccess2000の OLEDBプロバイダ名は Microsoft.Ject.OLEDB.4.0 SOLServerの OLEDプロバイダ名は SQLOLEDB MySQLの OLEDプロバイダ名はなんですか?
>>190 データリンクで接続のテストに成功しただけで
それ以上のことはしていないけど、
Micorsoft OLD DB Provider for ODBC Drivers
で接続のテストには成功した。
192 :
190 :2006/02/09(木) 10:03:09 ID:UltP/RAl
>>191 それでやってみたんですけど、無理でした。
ちなみに現在利用してるのはADOオブジェクトです。
>>192 ちなみにODBCの登録はしてる?俺がテストした時に出てきたものは以前に
ODBCデータソースアドミニストレータで登録したものだったんだけど。
194 :
190 :2006/02/10(金) 09:41:06 ID:5yjslb7y
MyODBC5.51登録してます。
そのdsn名で登録してるの? 試しに、別の名前で作ってやってみては
196 :
190 :2006/02/10(金) 10:23:39 ID:5yjslb7y
dsn名は競馬です。やっぱ、日本だとまずいですか?
197 :
190 :2006/02/10(金) 15:47:37 ID:5yjslb7y
>>194 間違ったMyODBC3.51だった・・・。
198 :
NAME IS NULL :2006/02/13(月) 18:58:03 ID:E7M2TLQb
>>196 基本日本語で登録するのナシだ。
やめたほうがいい。
199 :
NAME IS NULL :2006/02/25(土) 17:51:01 ID:nYYp/Tzn
VC++2005でADOつかいたいんですが、リファレンスを探しても見つからないです・・・ リファレンスのありかを、教えてください。 サンプルは見つかったのにな〜
VBとかC#のサンプルを翻訳すればいいじゃん。
201 :
NAME IS NULL :2006/03/09(木) 01:18:38 ID:5GyLyggH
あげ
202 :
NAME IS NULL :2006/04/10(月) 11:11:27 ID:pQlDyqlM
VB6.0+Access2000で簡単な帳票印刷ツールを作成しようと思います。 Accessに関してはDAOを通じて接続したほうが良いと聞きましたが、ADOと比べると顕著に差が出るものでしょうか?
そんなにでない 新規に DAO の知識いらん って思ってたが今は逆に ADO の方が中途半端かもな その知識を今後ほかに使うかで決めたらいい
204 :
NAME IS NULL :2006/05/01(月) 18:48:21 ID:KAhBcSSh
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
205 :
NAME IS NULL :2006/05/04(木) 20:05:30 ID:KcnoTl2z
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
206 :
NAME IS NULL :2006/05/05(金) 01:14:09 ID:IZ0aEEXg
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
207 :
NAME IS NULL :2006/05/05(金) 04:15:57 ID:VKIiqqFA
ここは 以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる で1000を目指すスレになりました。どぞ〜
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
209 :
NAME IS NULL :2006/05/05(金) 21:55:20 ID:Psn81xYP
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
213 :
NAME IS NULL :2006/05/12(金) 22:16:26 ID:uN6drA26
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
215 :
NAME IS NULL :2006/05/13(土) 09:31:58 ID:vLyhAGGy
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
217 :
NAME IS NULL :2006/05/13(土) 21:51:08 ID:SXEY6q8j
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
晒し挙げかよ。w
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
寝る前と朝起きて・・・、基地外って熱心だよね。
222 :
NAME IS NULL :2006/05/16(火) 22:20:56 ID:Z+Em7r5T
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
スルー推奨
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
225 :
NAME IS NULL :2006/05/17(水) 00:36:36 ID:kz3A1JaC
VB5のRDOで作ったDB用のプログラムをADO.NET(VB.NET)に移植することになりました 注意点はありますか・・・というかもうRDOのすれないのね・・・
226 :
NAME IS NULL :2006/05/17(水) 00:43:49 ID:RkaJHsQI
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
>>225 大きくは接続型と非接続型の違い。
DataReaderはDynaSetみたいに書き換えられるわけじゃない。
1.0の場合、DataReaderを同じ接続から複数開けない。
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
229 :
NAME IS NULL :2006/07/17(月) 00:27:36 ID:OBhgddDB
ちょっと困っているので教えてください。 DAOを使用して、元MDBと別のMDBがある状態で別のMDBに新規テーブルを作成し、元MDBの検索条件にあったレコードだけコピーしたいと思っています。 そこでcreatetableでテーブル作成を行った時に元MDBのフィールド名が変更もしくは追加された時、新規テーブル作成時にその変更されたフィールド名を自動で反映させたいとおもっています。 今の私の知識ではフィールド名が変更された時に毎回DAOのプログラム側からフィールド名を変更する方法しか思いつきません。 自動でフィールド名を変更して新規テーブル作成方法を行う良い方法はありませんでしょうか? よろしくお願いします。
何が問題なのかわからん。 元テーブルと同じ構造のテーブル作成すれば、勝手に 望む状態になるだろ。
>自動でフィールド名を変更して新規テーブル作成方法を行う良い方法 レプリケーションでも使ったら? ほとんど使い物にならないけどね
232 :
NAME IS NULL :2006/07/17(月) 22:07:00 ID:wmWL8u64
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
もう、それはええっちゅーねん。うぜぇから止めろ
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
x64ネイティブAppで、ローカルにおいてあるmdbファイルを 読み込みたいのですが、有効なプロバイダがみつからん。 OFFICFE12(Beta2)のACEDBエンジンでも読めん(x86は可) カムバックDAO
236 :
NAME IS NULL :2006/08/23(水) 22:21:33 ID:recwsTl7
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
DAOを使う香具師は 間違いなく VIPPERだお
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
239 :
NAME IS NULL :2006/09/05(火) 17:15:25 ID:E+yZn0H6
ADOを使う奴は 阿藤
240 :
NAME IS NULL :2006/09/05(火) 21:17:00 ID:TPRsHbjl
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
241 :
NAME IS NULL :2006/09/08(金) 19:31:21 ID:SP8mweQ9
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
243 :
NAME IS NULL :2006/09/09(土) 23:18:33 ID:6onR8YSU
ムショウニ 江角マキコ主演
oracleの場合はロールバックセグメントというところに書き出して他のヤツにはその領域を 優先して見せている。詳しくはググれ。
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
ムショウニ 江角マキコ主演
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
249 :
NAME IS NULL :2006/09/12(火) 00:11:01 ID:O2wvSQ9g
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
これなんて病気?
251 :
NAME IS NULL :2006/09/12(火) 21:06:12 ID:LJRVWfZm
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
むー このスレを常駐監視して、カキコがあるとすかさず>251を突っ込むスクリプトかね?
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント。 また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいい。ムシャクシャしてやった。今は反省している
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント。 また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいい。ムシャクシャしてやった。今は反省している
キチガイが派生してる…
257 :
NAME IS NULL :2006/09/26(火) 01:17:37 ID:ZVOC/hTI
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント。 また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいい。ムシャクシャしてやった。今は反省している
258 :
NAME IS NULL :2006/09/26(火) 23:05:53 ID:V6th5YyT
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント。 また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいい。ムシャクシャしてやった。今は反省している
259 :
NAME IS NULL :2006/10/27(金) 00:54:38 ID:qqiDK9pM
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
260 :
NAME IS NULL :2006/10/27(金) 06:44:08 ID:fdSJiprV
ASPなんですけど、サーバーにODBCのdsnが複数登録してあるんですが、 このDB間でのSQLはどう書けばいいのか、解らず悩んでます。 dsn:foo1/ table1( field/ No,Value ) dsn:foo2/ table2( field/ No,A,B,C ) wwDBCon.open "foo1" wwadoRS = Open "SELECT No,Value,A,B,C FROM ....",wwDBcon,0,1 No=No でさがして、レコードセット取得したいのです。 出力 No,Value,A,B,C です。 参考になりそうなリンクでも結構です。
DBの基礎から出直せ
262 :
NAME IS NULL :2006/12/30(土) 00:34:38 ID:EWYGuIG6
ADO接続で、dBASE IVのプロバイダ設定していますが、 create table test.dbf ( col numeric(20,10) )とやっても、 DBFファイルを見ると、整数部20の小数部5桁になってしまいます。 小数部が必ず5桁で定義されてしまいます。 これはどうすれば任意の小数部桁数が指定できますでしょうか? 言語はVC++ MFCです。
SQLを始めたばかりの初心者です。 ADOを使用して、オラクルサーバーのデータをSELECT文でオラクル内の 複数のテーブルを結合してListViewで表示するプログラムを作成中です。 オラクルサーバーにメインデーターがあり 各クライアントにMDB形式でマスタデータがあります。 MDBのマスタデータにはたとえばですが、テーブル名 [商品テーブル] フィールド名[コードナンバー]、[商品名]... となっており、サーバーには、テーブル名[商品コード] フィールド名[コードナンバー]、[受注日]....があるとします。 クライアントからADOを使用して、サーバーのデータをSELECT文でオラクル内の 複数のテーブルを結合してListViewで表示するのはできます。しかし [コードナンバー]は取得できるのですが、サーバーのテーブルには、 [商品名]がないためとうぜん表示できません。 この場合、オラクルから取得したデータをマスタデータのあるMDBに新しくテーブルを 作りそこに一度格納して再度ADOで結合処理して 商品名を表示する方法しか考えつかないのですが、 ほかに良い方法はありますでしょうか? ADOで接続MDBに保存再度ADOで接続して表示では レスポンスが悪いかなと思いまして... 異種ソースの結合ができると、SQLすれから誘導されたのですが... よろしくお願いいたします。 *VB6 winXP-pro オラクル9i
MDBのリンクテーブルがAccess以外からも使えなかった?
スレ立ってから3年半も経つのか。 DAOをいま使う奴はおらんやろ。
266 :
NAME IS NULL :2007/01/29(月) 23:17:08 ID:C323aaTa
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
>265 プログラム中でカラのMDBを生成するときたまーに…… ADOXめどいもんorz
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
ADOでraiserror(レベル0-9) 取れなくて悩んでたら、カーソルロケーションをサーバにしなくちゃ いけないのかよ (´・ω・`) そろそろ漏れもADO.netに移るか。。。。。。。。。。。。。。。
270 :
NAME IS NULL :2007/03/15(木) 00:25:08 ID:s8ccNWrH
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
このmdbのトランザクション仕様がムショウに気になってる人は 何で自分で試そうとしないんだろうか. 今ならOracle,SQLServer(sqlって略すな)辺りなら, その辺のPCにだってインスコできるんだから実記で試せばいいのに. 今その辺がムショウに気になってる.
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
あれか? 保守ってかくかわりに別の定型文が決まったってやつ?
274 :
NAME IS NULL :2007/05/10(木) 22:39:30 ID:A3ER/LT2
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
>>273 最後の書き込みから1年経過したようなスレでも落ちないこの板に於いて
保守目的のコピペしてるんだとしたら、それはそれで間抜けではあります。
276 :
NAME IS NULL :2007/05/11(金) 23:03:19 ID:mToTNIlR
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント。 また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいい。ムシャクシャしてやった。今は反省している
277 :
NAME IS NULL :2007/05/12(土) 10:19:32 ID:0rDpdX72
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
278 :
K :2007/05/29(火) 12:00:49 ID:HHLpu5GU
279 :
K :2007/05/29(火) 12:02:07 ID:HHLpu5GU
>>278 >「参照設定」で [Microsoft DAO 3.5 Object Library] に参照します
を理解してない可能性80%
自分のやった手順とかせめてどんなエラーが出てるかぐらい書けよ。
MDBを事前に作ってないではらたいらさんに3000点
282 :
NAME IS NULL :2007/09/24(月) 04:13:50 ID:PG25xm5w
ADODB.Recordsetに2次元配列を突っ込んだのですが、 そのメモリ上のRecordsetにSQLで集計かけてRecordset 抽出とかできないのですか? ファイル保存して再度OpenするときにSQL指定すれば いいみたいなのですが、パフォーマンス的にオンメモリが 望ましいので・・
284 :
NAME IS NULL :2007/09/24(月) 10:46:12 ID:MJmYlvF+
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
285 :
NAME IS NULL :2008/03/31(月) 12:15:19 ID:sr9oKigw
VB6+DAO3.6でMDBを使っているアプリケーション組んでて 98や2000、Xpでは問題なく動作してるんだけど Vistaで動かすと、速攻MDBが壊れるのはどんな理由が考えられますか?
>>285 よくわからんけどエスパーすると
Program Filesの下にmdbファイルを置いてるとか。
>>286 rootにフォルダ作ってその中で実行してます
mdbはaccess97ど2000の形式です
うまく動くVista(Office2007なし)もあり、Office2007との
共存ができないのかなぁとか疑ってます
mdbのファイル形式アップグレードしてみるとか
>>285 Vistaで97型式の使用は論外。
2000も対象外です
偶然うまく動いてもどっかでおかしくなる。
Office2007入れたら、DAOやADOのDLLがごっそり入れ替わるから、まったく動きません。
COMはバージョン管理してるだろう。
>290 してないしてない バージョン番号が付いてるってだけで複数バージョン共存できないし Windows Installer使ってれば、古いものの上書きはチェックされるけど 新しいものを上書きする分には基本素通し それでDLL Hellを激化させたって叩かれまくった結果 .netはアセンブリにバージョン管理機構付けたんだから
292 :
NAME IS NULL :2008/04/06(日) 19:18:45 ID:woM9Lw83
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
すごい久しぶりに見たよ。このコピペ
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント。 また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいい。ムシャクシャしてやった。今は反省している
いや、面白くないから
296 :
NAME IS NULL :2008/04/07(月) 23:08:40 ID:XmpIvrdx
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
297 :
NAME IS NULL :2008/06/22(日) 19:04:46 ID:uy5eGQxV
質問OK?
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント? また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいいの?今その辺がムショウに気になってる
>>298 ま た お ま え か !
スレを変えて何度同じ質問をするつもりだ?マルチ禁止。
最初に目にとまったのがDAOだったのでDAOを覚えた いまさらADOを覚えなおすのめんどくさいんだけど 将来性を考えたら移行すべきかね
移行するならADO.NETのような気がするがまあ環境によるか ADOの将来性ねえ、うーん
今からADO覚えさせるぐらいならDAO覚えさせたほうがマシ
以前話に出てたmdbのトランザクションはcommitまで更新を 先延ばしにしてるだけっていうのはホント。 また、oracle、sql、db2等はそれら製品が順番に処理してくれるという 理解でいい。ムシャクシャしてやった。今は反省している
304 :
†ドラム神§TAKAHIKO† :2008/09/09(火) 03:08:56 ID:GtjxzMNf
僕も仲間に入れてよ。
AS/400使いです。 ExcelからODBC経由でDB2/400に接続すると遅いのですが、 ADOだと速くなりますか。 外部データとしてDB2/400のDBから10万レコード以上を読みたい。 i5/OS V5R4M0、WinXP SP2+Excel2003 SP3
>305 ボトルネックはミドルよりネットワークじゃないかなぁという気がするので 劇的な改善は期待できないような。 もっとも、今ODBCを直接叩いてるんでなくて、ADO→ODBC→DB2ってしてるなら 間飛ばす分、多少マシかもだけど。 可能なら1000件位で比較ベンチ取ってみるとか。 というか、Excel2003は1シート65535行までの制約生きてなかった?
307 :
NAME IS NULL :2009/02/08(日) 14:20:49 ID:ML93ELzY
ACCESSのVBAでADO2.8の参照設定したらヘルプが使えないんだけど、 2.5じゃないと問題あるの?
MDB&テーブル作成をVB2008でADOXを使って行っているんだけど、 XPで作成したソースがVista環境ではエラーになってしまう。 (VistaではADOX6.0の為) 両方で使用するにはDAOに戻すしかない?
310 :
NAME IS NULL :2009/06/04(木) 08:56:44 ID:ICQ7EzZo
age
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 :
2013/01/06(日) 16:18:49.82 ID:PFtSFSQD 犯罪者個人に対して告訴状を違法派遣・偽装請負・偽装出向・多重派遣の被害者が作成(刑事告訴は無料) or 司法書士が代筆(料金は5万円ぐらい)※コピペ歓迎 ↓ 告訴状を【検察の直告班】に郵便局の内容証明付で送付(疎明資料・証拠にはICレコーダー、スマホによる録音が適しています) ↓ 審査 → 不受理 → 告訴状再提出または刑法 第193条で訴えを起こす ↓ 受理 → 告訴事実を認め示談交渉(↓) →示談成立 → 法廷相場50〜100万円の示談金 ※示談拒否が良い ↓ ↓ 事案化← 前科あり ←示談不成立(↓)→ 示談外交渉→ 犯罪者の年収半額×最大懲役年数の和解金支払い※推奨 ↓ ↓ ↓ 起訴 →公判 → 罰金刑=前科(起訴事実を認めてるため)→追討ち民事訴訟 ↓ 審査 → 起訴(強制捜査・留置場)→ 公判 → 懲役刑などの厳罰(反省が認められないため)→追討ち民事訴訟 ↓ 不起訴、起訴猶予 ↓ 検察審査会法第30条(検察審査会へ申し立て)→ 起訴 → 起訴後は同上 刑法 第193条(公務員職権濫用)で検察事務官を刑事告訴 → 同上 ◎告訴→告訴受理→示談交渉→厳罰を求め示談不成立→示談外交渉→和解金支払い・和解契約(公正証書・即決和解で秘密保持契約) ◎偽装請負・出向・違法派遣事件では派遣・出向先両方の代表者、役員、現場責任者に告訴できます。 前科がついた犯罪者が法人の代表であれば公的な入札からの排除、取引先や顧客との契約解除など社会的制裁・批判に晒されることから辞職または解任が妥当、役員・社員であれば懲戒を想定。 ◎事業者内部の加害関係者による刑事告発(刑事訴訟法239条1項)も可能です。 加害者本人、管理間接部門の社員が刑事告発に踏み切る場合も和解金による解決が妥当です。 注意:告訴が受理されない理由 ●3年間(※)の時効が過ぎたもの ※違法派遣 ●同一事実について過去に告訴取消しがあったもの ●関連する民事訴訟を有利に導く目的の場合 ●証拠が希薄なもの ※被害者が契約時に違法派遣・偽装請負・多重派遣と知っていても刑事告訴は有効です。