• 締切済み

クリスタルレポートのODBC接続ができません

クリスタルレポート初体験です。 VB5、DBはオラクル9i(但し開発環境は8i)を使用しています。 VBからODBC経由でクリスタルレポートに接続したいのですがうまくいきません。 ------------------------------------------------ With rpt3000 .DataFiles(0) = "VW一覧表" .Connect = "DSN=TESTDSN;UID=B_USR;PWD=ABC;" .ReportFileName = App.Path & "\" & "test.rpt" lngRet = .PrintReport strErrMsg = .LastErrorNumber & "/" & .LastErrorString If lngRet <> 0 Then MsgBox strErrMsg End If End With ------------------------------------------------ .PrintReportのところで一瞬クリスタルレポートの窓が開いているようなのですが、すぐ消えてしまって表示されません。 エラーメッセージは「20527/SQLServer Error」です。 ODBCの設定はテスト接続でつながるので間違っていないと思います。 ------------------------------------------------ データソース名:TESTDSN サービス名:A_DBQ ユーザー名:B_USR ドライバは ORACLE ODBC Driver ------------------------------------------------ クリスタルレポートのrptファイルを開いてログオンサーバーをすれば正しく表示されるのですが、VBからだとDBに接続出来ていないような感じがします。(推測ですが) コードの書き方が間違っているでしょうか? それとも何か設定が足りないとか・・・ 初心者につき説明が足りない部分があるかと思いますので、補足要求してください。よろしくおねがいします。

  • usa26
  • お礼率78% (15/19)

みんなの回答

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.1

環境がないのであてにならないかもしれませんが。 rptファイルのDB接続設定は、同じODBC経由形式になっていますか? ViewerなどのActiveXコンポーネントを経由しても印刷(またはプレビュー)できませんか? お試しください^-^

usa26
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 >同じODBC経由形式になっていますか?  なっています。 >ViewerなどのActiveXコンポーネントを経由しても印刷(またはプレビュー)できませんか?  クリスタルレポートはオラクルの場合、ODBCでしか接続できないものだと思い込んでおりましたが、 他の方法もあるということでしょうか。すみません、やり方がわからなくて・・・ 差し支えなければやり方を教えてください。 あれから対象のODBCデータソース名のトレースログを記録して調べてみたのですが、 どうもODBCドライバが正常に動いていないようなのです。 こうなるとこのパソコンに問題があるのかもしれません…。最悪は再インストールなのかなと思っています。 回答ありがとうございました。

関連するQ&A

  • クリスタルレポートのパッケージについて

    VB6.0のディストリヴューションウィザーを使ってクリスタルレポートver11を使用しているアプリをパッケージし、他のPC(クリスタルレポートはインストールされていない)でそのパッケージを解凍し、アプリを実行した所、クリスタルレポートのファイルオープン時にエラーとなってしまいます。 やはりクリスタルレポートが入っていないPCでは(dllや.rptファイルだけでは)クリスタルレポートを使用したアプリは動かないのでしょうか??

  • Crystal Report 8キャッシュを無効にしたい

    Crystal Report 8を使っているのですが、 表示はできるものの、指定したパラメータで再表示ができないので 困っています。 ついては、キャッシュを無効にする方法を知りたいのですが可能でしょうか? よろしくお願いします。 サンプル ASP(VBSCRIPT)から、HTMLのJavascriptに引き渡して、URL起動 <script language=jscript> //帳票ページ function LoadEnd(){ //クリスタルレポート呼び出し RepURL = ""; RepURL = RepURL + '<%=sReportPass%>OKHK/Report/011_Tyumon_syo.rpt' ; RepURL = RepURL + '?user0=<%=ODBC_USR%>' ; RepURL = RepURL + '&password0=<%=ODBC_PWD%>' ; RepURL = RepURL + '&PromptOnRefresh=0' ; RepURL = RepURL + '&Prompt0=<%=sCOMP_KEY%>' ; //引渡しパラメータ1番目 RepURL = RepURL + '&Prompt1=<%=gsHATTYU_NO_ALL%>' ; //引渡しパラメータ2番目 IFRAME.location.replace(RepURL) } </script> 実行環境 サーバ OS:Windows2000Server IIS5.0+ASP DB2 7.0 CRYSTAL REPORT 8.0 クライアント IE6.0(WINDOWX2000) IE6.0(WINDOWSXP)

  • クリスタルレポート Win2000

    どなたか教えてください。 VB6+VB6付属のクリスタルレポートで、Win98 上で動いていたものをWin2000で動作させると、プ レビューされなくなりました。 プリンター出力は可能です。 CRPE32.DLLでAPIを使用しています。  PEStartPrintJob(プリントジョブ, 0) こんな感じです。 Win2000では、対応していないのでしょうか? なので、OCXに切替えてみたのですが、今度はSQLサ ーバーエラーになってしまいます。 Text Driverで、CSVファイルを使用してます。 ロジックは、 CrystalReport1.Destination = 0 CrystalReport1.PrintReport です。 CONNECTプロパティーも指定するのでしょうか?

  • VBとクリスタルレポートについて

    VBとクリスタルレポート8を使い帳票を作ったのですが VB側である条件によりクリスタルレポートの接続先を変更したいのですが なんどやってもサーバはまだ開かれていませんと言うメッセージが出てしまいます。 接続はオラクル9接続なのですが分かる方いましたらよろしくお願い致します。 ちなみにプレビューにはCRViewerを使用しているのですがエラーはCRViewerから出ているっぽいのですが・・・・

  • クリスタルレポートの印刷ダイアログについて

    vb2005.net+バンドルされているクリスタルレポートで開発しています。 View.Printreportを実行すると印刷ダイアログがどうしても出てしまいます。 さらにプリンターの標準設定は用紙トレーは自動にも関わらず手さしを要求されてしまいます。 何か設定しなければいけないプロパティーがあるのでしょうか。 基本的なことだと思いますが、ご回答のほど宜しくお願い致します。

  • odbc接続処理が遅い

    vb.netにてプログラムを作成して使用しており、DBはpostgresqlをodbc接続にて使用しております。 ある端末で処理が極端に遅く、デバッグにて検証したところ、DB処理で時間がかかっていることがわかりました。 それに伴い同端末で別システムのoracleへのodbc接続も同じ現象となっている状況です。 この端末ではpostgresqlのodbcドライバの入れ替えを行ったことがあり、その頃から遅くなったようです。 また、別の全く同じ環境の端末では特に問題ない処理速度で稼働しております。 odbcドライバの入れ替えは何度か行っておりますが改善されません。 改善方法をご存じの方はおられますでしょうか?

  • ODBC接続で困っています。

    ODBC接続で困っています。 いつもお世話になっております。 VB6.0からODBCを利用してACCESSに接続をしたいのですが、 接続文字列が良く分かりません。 色々と調べてみたのですが、 管理ツールからODBCデータソースを作成(Microsoft Access Driver (*.mdb)を使用)して、  DSN=データソース名 という風にするのと、  Driver={Microsoft Access Driver (*.mdb)};Dbq=MDBファイルパス; とするのとは同じなのでしょうか? 前者では無事に接続できたのですが、後者では接続できませんでした。 MDBファイルのパスは動的にしたいので、できれば後者の方が良いのですが、 どうしたら良いでしょうか…。 よろしくお願い致します。

  • ODBC接続ができない

    初めて質問する初級者です。 現在、DBにPostgreSQLを使って、クライアント側を Windowsアプリケーションにしようと思って、VB.NET (2003)でつくり始めたところです。PostgreSQLの接 続については、既に日本語ODBCドライバを使って Accessとの接続は確認済みで、安心していたのです が、今日VB.NETでODBCのクラスを作ろうと思い、 やってみているのですが、うまくいきません。 具体的に説明すると、「サーバーエクスプローラー」から「データ接続」の「接続の追加」を行い、 「Microsoft OLE DB Provider for ODBC Driver」を 選択して、既にAccessで確認済みのデータソースを 選んで接続してみました。ダイアログの中にある 「接続のテスト」ボタンをクリックすると、 「接続しました」と出てくるのですが、その「データ リンクプロパティ」を登録しようとすると、サーバー エクスプローラーに追加できません。エラーメッセージには、SQLサーバーかAccessしか登録できないような 文面でした。どなたかご指導下さい。よろしくお願いします。

  • クリスタルレポート+文字列セット

    環境:Windows2000+VB5.0 既存システムの変更をしています。 VB5.0でつくっており、CrystalReportで レポート出力を行っています。 私はCrystalReportsを使ったことないのですが、 VBのフォームで 名前テキストボックス、社員番号テキストボックスがあり、 そこで印刷プレビューボタンをクリック、 そうするとプレビュー画面があがる、といった 場合、ヘッダーに名前テキストの内容と社員番号テキストの内容を 印字させたいのですが、どうしたらいいのでしょうか? 名前も社員もデータベースにあるものでなく、 フォームにあるテキストに入力されたものを使います。 ヘルプなどをみていると、 Rpt.Formulas(0) = "名前 = 'ああああ'" とやるとOKと書いていましたが、 その後、Rpt.Action = 1 でエラーになりました。(「式名が不正です。」) ちなみに、クリスタルレポートには、名前というテキストフィールドを ヘッダーにはりつけ、その部分をセットしようとしているのですが・・・ よろしくお願いいたします。

  • クリスタルレポートで0件時の表示

    おせわになっております。 ここには、初めて質問させていただきます、 よろしくおねがいします。 クリスタルレポート(VB2003付属)で帳票を作成しているのですが DBとクエリはACCESSで行い、表示のみクリスタルレポートを使用 しております。 金額の合計を表示するレポートを作成したのですが、 クアリの結果が0件(該当レコード無し)の場合 クリスタルレポートの表示が空白になってしまいます。 私としては、金額なので0円(¥0)を表示したいのですが 方法がわかりません。 どなたか、教えていただけると、ありがたいです。 よろしく、お願いします。