- - PR -
VB6のデータグリッド
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-03-26 15:36
私の開発環境
Database:Oracle10g 10.2.0.3.0 Client:Oracle10g 10.2.0.3.0 Windows2000 SP4 Visual Basic 6.0 SP5 VisualBasic6.0のデータグリッドについてですが、 今、ある入力アプリがありまして、その機能の一つに、 データグリッドを利用して、オラクルからのデータやアクセスからのデータ を表示させようとしています。 しかし、どうしてなのか、グリッド上にデータが表示されません。 ちなみに、このプログラムを他の環境にて起動させると、グリッド上に データは表示されます。 [他の環境] DATABASEは同じもの Client:Oracle8i Windows2000 SP4 Visual Basic 6.0 SP5 下記のサイトのことも実行したのですが、うまくいきません。 http://support.microsoft.com/kb/193094/ja 私のPCでは、前は、Oracle8iを入れていたのですが、現在は、 Oracle10gにUpgradeしております。また、VBもVB2005を追加でインストして おります。こういったことも影響しているのでしょうか・・・? (他の環境は、Oracle8i,VB6のみ。) 以上、何かしらのアドバイスをご教授できましたら、幸いです。 | ||||
|
投稿日時: 2008-03-26 16:21
ご参考までに。
Oracle の各種バージョン毎の接続可否一覧表 #昨日も同じ URL を貼ったなぁ(^_^;) | ||||
|
投稿日時: 2008-03-26 16:57
ひろれい様、ご返信ありがとうございました。
参考にさせて頂きます。 補足といたしまして、このプログラムは、 ・OLEDBを使用して、接続をおこなっている。(Provider=OraOLEDB) ・プログラム中のSQLでは、データ取得は成功している。 ADODCコントロールの.Refresh後に、データグリッドに表示されると 思っているのですが・・・。 仮にデータグリッドのプロパティの設定に不備があるとしたら、 どこがいけない箇所なのか、ちょっと検討が付かない状況でございます。 | ||||
|
投稿日時: 2008-03-26 17:19
Oracle10g のデータベースに対して、Oracle8i Client がインストールされている端末では正しく動作するが、Oracle10g Client がインストールされている端末ではダメってことですね。 すいません、先程のリンクはあまり意味をなさないですね。 デバッグして、エラーとか返ってきてはいませんか? Oracle10g Client の端末で、参照設定をし直して EXE ファイルを作成してから実行してもダメですかね? Oracle 関係の環境のせいだと思うのですが。 | ||||
|
投稿日時: 2008-03-26 17:44
ひろれい様、ご返信ありがとうございます。
他の環境で実行した場合は、特に問題なく動いております。 また、デバッグしても特に、エラーは返ってきません。 参照設定を確認してから、再度、実行もしましたが、うまくいきませんね。 | ||||
|
投稿日時: 2008-03-27 10:19
私の環境で試してみましたが、動作しますね。 <テストした環境> WindowsXP SP2 Oracle10g(10.2.0.1.0) VB6 SP6 テスト方法は、Visual Basic 6.0データアクセス新機能(後編)を参考に実施しました。 コンポーネントとして ・Microsoft DataGrid Control6.0(SP6) ・Microsoft ADO Data Control6.0(SP6) を追加し、上記 2 コンポーネントを Form 上に配置し、以下のプロパティ設定しました。 コードは何も記述していません。 ・DataGrid の DataSource プロパティに ADODC コントロールを設定 ・ADODC の ConnectionString を設定 ・ADODC のRecordSource に SELECT 文を設定 IPホンさんの説明内に「ADODC」とありますが、ADO 接続なんですかね。 上記ページにありますが、ADO と DataGrid の相性はあまりよくないみたいですね。 何が原因なんでしょうね。 私のように必要最低限のテストは可能でしょうか? | ||||
|
投稿日時: 2008-03-27 11:18
ひろれい様、ご返信ありがとうございます。
別途テスト環境として、空のフォームに、DATAGRIDとADODCの各コントロールを 配置して、やってみましたが、なぜか結果は表示されないですね・・・。 <おこなった事> ・空のフォームに各コントロールを配置。 ・ADODCプロパティ内の、ConnectionStringを設定。 (Provider=OraOLEDBでもProvider=MSDAORAでもダメ。) ・また、RecordSource内に任意のSelect文を記載。 ・DataGridプロパティ内の、DataSourceにadodcを設定。 ・また、DataGridコントロール上にて、右クリック後、フィールドの更新をした。 以上でも、データは表示されませんでした。 参照設定は、特にいじる必要はありますでしょうか?? それから、%ORACLE_HOME%\oledb\readme.txt内に、Microsoft Visual Basic6.0 Notes があり、参照設定にActiveX Data ObjectsとActiveX Data Objects Recordset(Verは 共に、2.8)をインクルードするとありましたので、そうしてもダメでした。 SP5ではなく、SP6へupgradeする必要があるんでしょうか?? | ||||
|
投稿日時: 2008-03-27 11:57
気になった点が 1 点。 ADODC の ConnectionString は当方では、 「Provider=MSDASQL.1;Password=hoge;Persist Security Info=True;User ID=hoge;Data Source=DSN名」 となっています。 自分で記述したわけではなく、ADODC のプロパティ画面で「作成」ボタンで作成した状態のままです。 参照設定は、 ・Oracle Data Control(oradc.oca) ・Microsoft Data Binding Collection VB6.0(SP4) ←自動的に付与される ですね。 サービスパックが関係しているかどうかまではちょっと分かりませんね(^_^;) SP5 で動作する環境があるのであれば、問題ないと思うのですが・・・ |