- PR -

DataGridのDataSet生成について教えて下さい。

1
投稿者投稿内容
まっつん
会議室デビュー日: 2003/11/07
投稿数: 4
投稿日時: 2004-02-27 22:08

 初心者なので、よく分からないので、
どなたかご存知の方がいらっしゃいましたら、
DataGridのDataSet生成について教えて下さい。

開発環境は、
 OS:Windows2000
言語:VB.NET
DB:SQL Server
を使用して開発をしています。

 画面には、OleDbConnection・DataGrid・OleDbDataAdapterが貼り付けてあり、
DataSet.xsdもあります。
 DaraGridを使用して、マスタデータの更新・削除を行っています。

OleDbConnection.ConnectionString = User ID=ユーザID;
                    Data Source=データソース名;
                    Initial Catalog=DB名;
                    Provider='SQLOLEDB.1'"

DataGrid.DataSource = DataSet.テーブル名
OleDbDataAdapter.Fill(DataSet,テーブル名)

 上記記述で現在はできているのですが、現在使用しているDBサーバから
他のDBサーバへ、変更した場合に、
「System.Data.OleDb.OleDbException' のハンドルされていない例外が
system.data.dll で発生しました。」とエラーメッセージが出てしまいます。
 できれば、記述方法はこのままで、DataSetの生成をどのように行えばよいのか
わかりません。

 どなたか、ご存知の方がいらっしゃいましたら、教えて下さい。
 よろしくお願いします。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-27 22:11
引用:

まっつんさんの書き込み (2004-02-27 22:08) より:

 現在使用しているDBサーバから
他のDBサーバへ、変更した場合に、
「System.Data.OleDb.OleDbException' のハンドルされていない例外が
system.data.dll で発生しました。」とエラーメッセージが出てしまいます。


 他のDBサーバへ変更というのを、どのようにしてしましたか?また、プログラム、または設定の変更をどのようにしましたか?

 それから、引用されているエラーメッセージの後に、説明があったと思いますが、それも併記してください。


 ところで、SQL Serverをご使用のようですが、なぜSQL Server用のプロバイダでなく、OLEDBを使用されているのでしょう?
まっつん
会議室デビュー日: 2003/11/07
投稿数: 4
投稿日時: 2004-02-28 09:46

SQL Serverへの接続は、ConnectionStringの変更で行いました。
エラーメッセージで、説明部分はありませんでした。
なにか設定が間違えているのでしょうか?


SQL用プロバイダがあるのでしょうか?
いろいろ探しては見たのですが、どうも見つからないので、
参考になるHPや書籍などご存知でしたら教えていただけますでしょうか?

nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-02-28 10:23
DBの変更というのは、いままで接続していたマシンAのSQLServerから、別のマシンBのSQLServerへ接続先を変更したという意味でしょうか?
ConnectionStringで指定しているユーザーIDで、変更先DBへのアクセス権はあるでしょうか?
Data Sourceに記述する接続先が間違っているってことはありませんか?

プログラムでやる前に、UDLファイルを作ってその設定で接続できるか試してみるのもいいかもしれません。

また、Fillする前にDataSetをDataGridにセットしていますが、順番を逆にしましょう。
Fillしてデータが取れているかどうかチェックしてから、DataGridへセットしたほうがいいです。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-01 10:50
引用:

まっつんさんの書き込み (2004-02-28 09:46) より:

SQL用プロバイダがあるのでしょうか?
いろいろ探しては見たのですが、どうも見つからないので、
参考になるHPや書籍などご存知でしたら教えていただけますでしょうか?


 System.Data.SqlClientという名前空間に、OleDbとほぼ同じクラスがあります。

 データアダプタの設定などをデザイナのウイザードで行うと、デフォルトでSqlClientが使われるのですが、そのようにしなかったということでしょうか?


 エラーはどの行で発生しているのでしょうか。デバッガを使って発生している行を特定してください。

 noderaさんのおっしゃる「UDLファイル」がそうなのかな?コマンドラインのツールがあったと思いますが、それで接続できるか、確認してみましたか?
 「違うマシン」となると、現在ログインしているユーザとか、WebアプリケーションであればASPNETユーザの権限とかも関係しますし、Windowsアプリケーションでも他のマシンの共有ディレクトリにある実行ファイルを実行しているなら、データベースへの接続に制限を受けます。その辺の情報も明記してください。
1

スキルアップ/キャリアアップ(JOB@IT)