• 締切済み
  • 暇なときにでも

クリスタルレポートの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に接続出来ていないような感じがします。(推測ですが) コードの書き方が間違っているでしょうか? それとも何か設定が足りないとか・・・ 初心者につき説明が足りない部分があるかと思いますので、補足要求してください。よろしくおねがいします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数3241
  • ありがとう数2

みんなの回答

  • 回答No.1

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

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

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

  • クリスタルレポート v10 旧バージョンを開くとエラーになる

    旧バージョン 8.5には crystal report cntrolがあったのにv10では無いのです。なんででしょうか? またV10のプロフェッショナルエディションを買ったの ですがマニュアルなど一切ありませんでした。 欠品でしょうか? VB+クリスタルレポート8.5 を VB+クリスタルレポート10 にバージョンアップする方法を教えてください。 よろしくお願いします。

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

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

  • クリスタルレポート Win2000

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

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

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

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

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

  • PHPでExcelファイルにODBC接続

    ASPでExcelファイルにODBC接続できる環境下で、同様に、PHPでExcelファイルにODBC接続しようとすると、上手くできません。 <?php $DSN = "database_1"; $DBUSER = ""; $DBPASSWORD = ""; $con = odbc_connect($DSN ,$DBUSER, $DBPASSWORD); if ($con) { print "Excelデータベースに接続しました!<br><br>"; } else { print "Excelデータベースに接続できませんでした!<br><br>"; } $sql = 'SELECT * FROM [jewery$]'; $result = odbc_exec($con, $sql); while ($rows = odbc_fetch_object($result)) { print($rows->msg . "<br>"); } odbc_close($con); print "Excelデータベースとの接続を解除しました!<br><br>"; ?>

    • 締切済み
    • PHP
  • PerlとWin32::ODBCを使ってDBにアクセスするときに出るエラー

    こんばんわ。最近、Perlを使い始めたばかりの初心者です。解決方法がわからないので、教えて下さい。 PerlとWin32::ODBCを使ってDBにアクセスするプログラムを組んでいるます。DB接続まではうまくいくのですが、それ以降に以下のようなエラーがでます。モジュールが足りないようなのですが、どのようにして解決すればよいかわかりません。以下にエラーとコードを記入します。 コード: #!/usr/local/bin/perl $DSN = "DSN=DB1;UID=kaki388"; use Win32::ODBC; if (!($0 = new Win32::ODBC($DSN))){ print Win32::ODBC::Error(); print "失敗"; exit(); } print "成功"; $sql = "SELECT * FROM tbl1"; $0->run("$sql"); $0->sql("$sql"); @fn = $0->FieldNames(); while($0->FetchRow()){ undef %Data; %Data = $0->DataHash(); print "$Data{$fn[$i]}<BR>\n"; } $0->Close; エラーコード: 2004/08/26(11:49:14) W-SV 127.0.0.1 [80] E200042 "Can't locate object method "run" via package "Win32::ODBC=HASH(0x275020)" (perhaps you forgot to load "Win32::ODBC=HASH(0x275020)"?) at odbc.cgi line 11. " よろしくお願い致します。

    • ベストアンサー
    • Perl
  • .NETでodbc接続したい。

    現在、ASP.NET(VB)+sybaseで開発しようとしているのですが、うまくつながりません。状況は ・ODBC.NETはインストールしたし参照設定に組み込んだ ・サーバーエクスプローラーでDBのテーブルの中身の参照もできる ・だけどサーバーエクスプローラーで参照できるconnectionStringをそのまま使ったらダメ ・DRIVER={Sybase System 11}を入れてやるがダメ なんだか根本的に接続文字列以外のところに問題があるのではないか?という気もするのですが、誰か同じような状況ではまった方がいらっしゃいましたら知恵をお貸し願えませんでしょうか。

  • root以外のユーザでのODBC接続エラー

    mysql-5.0.45 + odbc-3.51.19でのODBC接続で教えて下さいませ。 rootユーザでは、ODBC接続できますが、 他のユーザでは、ODBC接続できず、 [MySQL][ODBC 3.51 Driver]Access denied for user 'user1'@'localhost' (using password: YES) のエラーになります。 ODBC接続画面(Connecter/ODBC 3.51.19)の Databaseに選択には何も表示されません。 (rootユーザでは表示されます) ~~user1の権限設定は、以下の様に設定しました。~~ GRANT ALL PRIVILEGES ON db_name TO user1@"%" IDENTIFIED BY '1234' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON db_name TO user1@localhost IDENTIFIED BY '1234' WITH GRANT OPTION; (補足) パスワードの'1234'は、PASSWORD関数でデータ取得した情報を 設定しています。 エラーになる原因をご存知の方、教えて頂けますでしょうか。