C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: SQL、Oracleを問わないデータアクセス
(過去ログ 117 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 5 記事 (1 - 5 表示)] <<
0
>>
■68928
/ inTopicNo.1)
SQL、Oracleを問わないデータアクセス
▼
■
□投稿者/ Djokovic
(3回)-(2013/11/25(Mon) 16:43:33)
分類:[.NET 全般]
VB 6.0から、いきなり.net VB 2010を使用し始めました超初心者です。よろしくお願い致します。
.net VB 2010を使用し、ADOでSQL ServerとOracleのサーバから、データを取り出したいのですが
データソースを問わないような、サンプルが紹介されているサイトがありましたら
教えてください。
とにかく超初心者です。
できましたら、初心者向けサイトをよろしくお願い致します。
引用返信
編集キー/
編集
■68936
/ inTopicNo.2)
Re[1]: SQL、Oracleを問わないデータアクセス
▲
▼
■
□投稿者/ Jitta
(109回)-(2013/11/25(Mon) 22:31:51)
■
No68928
(Djokovic さん) に返信
「Oracle、SQL Server を問わない」の意図を教えてください。
ご存じだと思いますが、DBMS によって SQL に方言があります。
これは、各 DBMS 向けに作成しなければなりません。
# まぁ、簡単な問い合わせなら、方言はないと思いますが。
# 「簡単」をどのように定義するか、にもよるかな。
方言部分を差し替え可能なように作れば、DBMS を問わない実装ができます。
> とにかく超初心者です。
何の、初心者でしょうか。
データベース?コンピュータ?プログラムを作ること?VB?
それぞれによって、求められる物が違うと思いますが、いかがでしょうか。
「全部」ということであれば、まずは本を薦めます。
体系的に整理されているからです。
引用返信
編集キー/
編集
■68941
/ inTopicNo.3)
Re[1]: SQL、Oracleを問わないデータアクセス
▲
▼
■
□投稿者/ daive
(18回)-(2013/11/25(Mon) 22:57:56)
2013/11/25(Mon) 23:02:58 編集(投稿者)
一通り網羅しているサイトであれば、
検索ワード: やさしい VB2010
で、
http://adonetvb.com/index.html
http://adonetvb.com/
http://adonetvb.com/Learning/index.html
あたりが、関連サイト含めて、
一連で、MDB / MS-SQL / VB.NET 2008 / 2010 などを
解説しています。
VB.NETや、MS-SQL、JET-MDB を解っている方であれば、2〜7日で、一通り終わる筈です。
(やさしいサイトですが、環境構築さえ出来ない方、文法等が解っていない方には、向きません。)
’
超簡単なサンプルであれば、
検索ワード:10行でズバリ
’
>VB 6.0から、いきなり.net VB 2010を使用し始めました超初心者です。よろしくお願い致します。
まずは、ここの(WANKUMAさん)の、↑:C#とVB.NET入門、DOBON.NET さんの、NET Tips 他からでしょうか。
http://jeanne.wankuma.com/
http://dobon.net/
’
MS-SQL Server 自習書シリーズ:マイクロソフトの解説書(WEB)
【Oracle Database 2日で.NET開発者ガイド 】:わかっている人向け(WEB)
’
書籍は、技術系専門書の書店が近くに無い場合は、
図書館へかなぁ。
(大全本は、検索ワードを探す為の本と割り切れば、使い物になります。)
’
DBのサイト、書籍は、「ミック」と「データベース」を検索ワードに
探してみてください。
引用返信
編集キー/
編集
■68943
/ inTopicNo.4)
Re[1]: SQL、Oracleを問わないデータアクセス
▲
▼
■
□投稿者/ 魔界の仮面弁士
(429回)-(2013/11/25(Mon) 23:56:17)
■
No68928
(Djokovic さん) に返信
> VB 6.0から、いきなり.net VB 2010を使用し始めました超初心者です。
VB6 は経験されているのですね。
では、VB6 ユーザー向けの視点で回答してみます。
> データソースを問わないような、サンプルが紹介されているサイトがありましたら
サイトや書籍の紹介等は daive さんがされているので、これについては割愛。
> .net VB 2010を使用し、ADOでSQL ServerとOracleのサーバから、データを取り出したいのですが
ADO ではなく、ADO.NET を使うことになります。(ADO と ADO.NET は別物です)
VB6 時代の「ADO」(ADODB とか ADOX とか ADOR とか JRO とか ADOMD とか)も使えなくはありませんが、
ADO は COM(ActiveX)ベースの接続方法であり、VB.NET からの利用は推奨されていないためです。
ADO.NET で基本となるのは、下記のクラスです。
★DataTable クラス … 表構造とデータを管理する器。SELECT した結果を格納するためなどに使われます。
★DataSet クラス … 複数の DataTable を管理する器。テーブル間のリレーションも保持できます。
★DataView クラス … DataTable に対して、並び替えや条件抽出を行った状態のオブジェクトです。
たとえば DataGridView なら、DataSource にこれらのオブジェクトを渡してやると、
取得したデータが画面に表示され、ユーザーがデータを編集できるようになります。
これら DataSet/DataTable/DataView は、データベースとは無関係の中立的なクラスです。
実際にデータベースとやり取りする部分には、その DB ごとのクラスが必要です。
その DB 固有の部分についてですが、Oracle への接続に使えるものとしては、
おもに下記のものがあります。
・System.Data.OracleClient 名前空間 … Microsoft 製。VB2010 以降では非推奨です。
・Oracle.DataAccess.Client 名前空間 … Oracle 製。通称 ODP.NET。開発環境と実行環境で同じバージョンを参照する必要があります。
・Microsoft.Data.Odbc 名前空間 … ODBC 接続用の ADO.NET プロバイダ。.NET 1.x 用であり、現在は廃止されています。
・System.Data.Odbc 名前空間 … ODBC 接続用の ADO.NET プロバイダ。.NET 2.0 以降ではこちらを使います。
・System.Data.OleDb 名前空間 … OLEDB 接続用の ADO.NET プロバイダ。VB6 の OLE DB Provider に相当します。
いずれを使っても良いですが、Microsoft 製の ODBC ドライバーや、System.Data.OracleClient などは
できれば避けてください。
http://msdn.microsoft.com/ja-jp/data/gg607261.aspx
基本的には、Oracle 社が提供している ODP.NET や ODBC ドライバー、あるいは、
DataDirect 等のサードパーティ製品で接続されることをお奨めします。
一方、SQL Server 用としてはこのあたり。
・System.Data.SqlClient 名前空間 … SQL Server 接続用の ADO.NET プロバイダ。
・Microsoft.Data.Odbc 名前空間 … ODBC 接続用。先に書いたように、VB2010 では使えません。
・System.Data.Odbc 名前空間 … ODBC 接続用。SQL Server 用の ODBC ドライバーと併用して使います。
・System.Data.OleDb 名前空間 … OLEDB 接続用。接続文字列は、ADODB のものと基本的に同じです。
SQL Server 専用とするなら SqlClient、汎用にしたいなら Odbc を選ぶとよいでしょう
(Jitta さんが書かれているように、DB 固有の機能や SQL についての考慮は必要ですが)
ちなみに、ADODB にしても ADO.NET にしても、OLE DB 経由での接続は、
SQL Server 2012 を最後に打ち切られることになるようです。
http://technet.microsoft.com/ja-jp/library/hh510181.aspx
http://www.infoq.com/jp/news/2011/09/OLE-DB-End
http://news.mynavi.jp/news/2011/09/01/083/
で、これらの名前空間に対して、主に以下のクラスを使うことになります。
★何某Connection クラス … ADODB でいうところの Connection オブジェクトに相当。
★何某Command クラス … ADODB でいうところの Command オブジェクトに相当。
★何某DataReader クラス … ADODB で言えば、ReadOnly + ForwardOnly の Recordset に相当。
★何某DataAdapter クラス … DataSet との中継役。VB6 には近い物が無いですが、強いて言えば、DataEnvironment あたり。
「何某」と書いているのは、実際に使われるクラスが、
System.Data.SqlClient.SqlConnection や
Oracle.DataAccess.Client.OracleConnection などであるためです。
DB ごとにクラスが違っていると、処理を共通化しにくいように思われるかもしれませんが、
これについては、System.Data.Common 名前空間の抽象クラスを使うことで、データベースに
依存しないようなコードを記述することが可能です。
http://code.msdn.microsoft.com/windowsdesktop/DataAccess-howto-3afceb90
引用返信
編集キー/
編集
■68994
/ inTopicNo.5)
Re[2]: SQL、Oracleを問わないデータアクセス
▲
▼
■
□投稿者/ Djokovic
(5回)-(2013/11/27(Wed) 18:02:31)
Jittaさま
daiveさま
魔界の仮面弁士さま
遅くなりましたが、親切ご丁寧にありがとうございます。
本当にありがとうございます。<(__)>
教えて頂いたサイトを見て、それから質問と思っていましたが、分からないことばかりで収拾がつかなくなってしまいました。
とりあえずここで一旦クローズさせて頂き、再度別で質問させて頂きます。
ありがとうございます。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-