C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: MDB/OpenSchemaで取得できる属性情報について


(過去ログ 117 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■69037 / inTopicNo.1)  MDB/OpenSchemaで取得できる属性情報について
  
□投稿者/ むぅ (11回)-(2013/11/29(Fri) 10:11:15)

分類:[C#] 

2013/11/29(Fri) 10:32:13 編集(投稿者)

VS2010 C# .NET3.5 Windows7 32/64bit
お世話になります。
OpenSchemaでMDBテーブルのフィールド情報を取得しようとしています。
サンプルコードをサイトで見つけ取得はできるようになりましたが、
そのほかにどのような属性が取得できるか探せずにいます。

ADODB.Connection cn
ADODB.Field fld;
ADODB.Recordset rs;
cn.Provider = "Microsoft.Jet.OLEDB.4.0";
cn.Open(strMdb);
cn.CursorLocation = ADODB.CursorLocationEnum.adUseClient;
rs = cn.OpenSchema(ADODB.SchemaEnum.adSchemaColumns, new object[] { null, null, "テーブル1", null });

while (!rs.EOF)
{
Debug.Print(rs.Fields["COLUMN_NAME"].Value.ToString());
Debug.Print(rs.Fields["IS_NULLABLE"].Value.ToString());
Debug.Print(rs.Fields["DESCRIPTION"].Value.ToString());
Debug.Print(rs.Fields["DATA_TYPE"].Value.ToString());

取得できる情報の一覧などがあるところをご存じでしたら教えていただけないでしょうか。

よろしくおねがいしますm(__)m。
引用返信 編集キー/
■69048 / inTopicNo.2)  Re[1]: MDB/OpenSchemaで取得できる属性情報について
□投稿者/ daive (19回)-(2013/11/30(Sat) 08:11:47)
検索ワード
Metadata Collections
Shema
MDB スキーマ


http://adonetvb.com/
'
過去の某サイトに書いた日記が出てきたので、転載します。

SELECTデータのフィールド数、各フィールドの属性を知る方法
http://www.moug.net/faq/posting.php?mode=reply&amp;t=63079

こんばんは、参考程度ですが、
MS-SQL限定であれば、
SQL sp_columns
とか
システム ストアド プロシージャ (Transact-SQL)
を、検索してみて下さい。
より汎用的であれば、
SQL GetSchema メソッド
を、検索してみて下さい。

システム ストアド プロシージャ (Transact-SQL)
SQL sp_columns
MSのドキュメントを、精読してください。
使用上の注意が書いてあります。

GetSchema メソッド:MS-SQL / OLE / ODBC / CSV,Text,EXCEL などに適用可
SQL-DMO オブジェクト:MS-SQL2005&VS2005以前用
SQL-DMO Sample:VBA、VS6用、MS-SQL2000付属、MSサイト、CodePlexサイト、MS-SQL Serverサイト
DMO Explorer :sampleの中で、直ぐに役立つコード
SQL-SMO オブジェクト:MS-SQL2005&VS2005以後用
SQL-SMO Sample:VS2005以降用、MSサイト、CodePlexサイト、MS-SQL Serverサイト
サンプルとしては明快。

MS-SQL 2005 自習書シリーズ:MS無償
MS-SQL 2008 自習書シリーズ:MS無償
MS-SQL 2008 R2 自習書シリーズ:MS無償
MS-SQL 2012 自習書シリーズ:MS無償
などは、一通り目を通しておくと、
検索ワードの、参考に、なるかもしれません。

GetSchema メソッドで取得できる、オブジェクト例

AllColumns
Columns
ColumnSetColumns
Databases
DataSourceInformation
DataTypes
ForeignKeys
IndexColumns
Indexes
MetaDataCollections
ProcedureParameters
Procedures
ReservedWords
Restrictions
StructuredTypeMembers
Tables
UserDefinedTypes
Users
ViewColumns
Views

Catalog
Columns
DataSourceInformation
DataTypes
Indexes
MetaDataCollections
ProcedureParameters
Procedures
ReservedWords
Restrictions
Tables

Columns
DataSourceInformation
DataTypes
Indexes
MetaDataCollections
ProcedureColumns
ProcedureParameters
Procedures
ReservedWords
Restrictions
Tables
Views
※但し、常に全てが取得できるとは限らない、
 TEXT、CSV、EXCEL−BOOKなどが対象の場合は、元々存在しない物がある、
 schema.ini が必要な場合は、別途考慮が必要。
 OLE/ODBCで接続する場合には、各接続対象による、
 各DBのネイティブドライバは、別途考慮が必要。
※MetaDataCollections
 GetSchema オブジェクトの基点になる情報
※System.Data.OracleClient に関わる物は、.NET4.0で、廃止予定になりました。
 Oracle から提供される、.NETドライバを使用するとの事です。
 System.Data.OracleClient 用のオブジェクトを、
 ASP.NET 4.0 で使う場合は、WEB.Config の記述が必要です。
※MS-SQLも、ごちゃごちゃいろいろ種類があります。
MS-SQL2000Stabdard/Enterprize/Developper/....
MS-SQL2005,MS-SQL2008,MS-SQL2008R2
Express/WorkGroup/Standard/Developper/Enterprize
Embeded もあるとかないとか、
MS-SQL CE 3.5 / 4.0
もあったなぁ。
引用返信 編集キー/
■69070 / inTopicNo.3)  Re[2]: MDB/OpenSchemaで取得できる属性情報について
□投稿者/ むぅ (12回)-(2013/12/01(Sun) 22:33:01)
daive 様
お世話になります。
詳しく教えてくださり、感謝しております。

教えていただいた情報をもとに勉強してみます。
ありがとうございましたm(__)m。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -