いつもお世話になっています。
環境:
WindowsXP
VC++9 MFC
今度新しくMS SQL Serverを使ってみようと思っています。
今まではOracle+oo4oでしか組んだ事が無かったのですが、
色々なDBに変わってもいいようにって事で、勉強も兼ねて
の選択だったのですが、じゃあどうやって接続すればいい
かという、いきなり最初の所で躓いてしまいました。
「ADOがいいよ」という話を聞いたので、とりあえずSELECT
出来るくらいまではサンプルを組めたのですが、いざ実際
にクラスにしてみようかという段階で、ロックがかからな
かったり、更新が面倒だったり(組み方が悪いんですけど)
です。
あと、ADOだと、検索すると大抵「ADO.NET」の情報とか、
あってもVBの情報しか上がってこないんですよね…。
という訳で、MFCしか使えないような俺が出来るだけDBの
種類を気にせずにプログラムを組む場合、何を使えばいい
のか、助言をお願いします。
あと、排他制御なんかが説明されたサイトなどがあれば
お教え頂きたいと思います。
よろしくお願いします。
「ADO.NETを使う」という選択肢はナシですか?
MFCコードに /clr オプションつけてコンパイルすれば
.Net Framework が使えるようになりますが。
>> επιστημη さん
えぇ…。
それは無しの方向で考えたいと思っています。
趣味の問題かもしれませんが、組み合わせるのは
どうも抵抗がありまして。
> あと、ADOだと、検索すると大抵「ADO.NET」の情報とか、
> あってもVBの情報しか上がってこないんですよね…。
「ADO msado15.dll」あたりでググってみるとか。
>> 玲音 さん
やっぱりADOがトレンドなんでしょうか。
一応アクセスできるところまでは作っているので、
あとは細かい仕掛け部分で当該キーワードにて
検索してみたいと思います。
ちなみに、MSSQLはOracleのoo4oみたいなオブジェクト
は存在するんでしょうか。
結局レコードロックとかしたい場合にはSQL文に互換が
なさそう(まだレコードロックには成功してませんが…)
ですし、それならいっそDB毎にプログラム作っておいて
DLL化でもした方がいい気がしてきました…。
ODBCとかはどうですか。
CDatabaseクラスを通して簡単にアクセスできます。
ちなみに、SQLの完全互換はあきらめた方がいいです。
私の知る限りの方法では無理です。
>> bun さん
ODBCは使った事が無いのですが、各パソコンそれぞれに
設定して回らなければならないと聞いて、面倒臭そうだ
と思っていましたが、接続先を変えるのに端末単位でも
変えられるみたいなので、試してみたいと思います。
元々SQL文は隠蔽しようと考えていますので、互換性
に関しては実はあまり期待していないのですが、ロック
等の概念の違いなどの互換に関して頭の痛い所です。
とりあえず、ADO、ODBC両方でやってみて、楽そうな方
を使おうと思います。
ありがとうございました。
> ODBCは使った事が無いのですが、各パソコンそれぞれに
> 設定して回らなければならないと聞いて、面倒臭そうだ
私も以前はそうだとばかり思っていましたが、接続文字列にODBCドライバを直接
指定してやれば、その必要は無いです。
接続文字列に関しては、以下のHPを参照してください。
http://homepage1.nifty.com/kojama/works/rdbms/conn/connstr.html#oraodbcora
>> bun さん
情報ありがとうございます。
確かにこれであれば毎回設定して回らなくても大丈夫ですね。
選択範囲が広がりましたので、とりあえず試してみます。
#選択範囲が多すぎるとまた悩みそうですが(^-^;
ありがとうございました。