tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルクリスタルレポートが動かない!?
記事No15306
投稿日: 2011/08/23(Tue) 11:29
投稿者たく
お世話になります。

VB5.0からVB6.0へのコンバートにてクリスタルレポートからの印刷における問題が解決
できないため、投稿させていただきます。

【環境】
WindowsXP SP3
VB6.0SP6
CrystalReport4.6(VB6同梱)

【Crystal Reportの仕様】
ODBC接続にてtxtファイル(CSV形式)を読み込む。

【現象】
VB5.0にて開発していた帳票印刷プログラムにおいてSQLサーバエラーが発生。

【詳細】
VB6.0にてtxtファイル(CSV形式)の作成
CrystalReportのヘッダ部分の項目はVB6.0から設定
CrystalReport.action = 1 でエラー

エラー内容 SQLサーバエラー

【調査】
CrystalReport単体でのCSVファイルの読み込みは問題なし。
VB5.0にて同一のReport、VBソースで実行しても問題なし。

ACTION=1のエラー発生タイミングで、REPORTを開き、プレビューを見ようとすると
ODBC "×" :[Microsoft][ODBC Text Driver]ファイル'(不明)'を開くことが
できませんでした。ほかのユーザが排他的に開いているか、データを読み取
る権限がありません。
のメッセージがでます。
また、CSVファイルを開くと
ファイルが他で使用中です。
のメッセージがでます。

おわかりになる方ご教授願います。

[ツリー表示へ]
タイトルRe: クリスタルレポートが動かない!?
記事No15308
投稿日: 2011/08/23(Tue) 14:00
投稿者魔界の仮面弁士
同ツールは長い事使っていないので、すっかり忘れてしまっているのですが:

> CrystalReport4.6(VB6同梱)
> 【Crystal Reportの仕様】
間違って覚えている人も多いのですが、
「Crystal Report」ではなく
『Crystal Reports』ですよ。


> VB5.0からVB6.0へのコンバートにてクリスタルレポートからの印刷における問題が解決
> できないため、投稿させていただきます。
クリスタルレポートを専門に扱っているコミュニティを利用した方が良かったのかも。
http://www.hirano.cc/crystalreports/


> ODBC接続にてtxtファイル(CSV形式)を読み込む。
> VB5.0にて開発していた帳票印刷プログラムにおいてSQLサーバエラーが発生。
SQL Server と CSV の関係が良く分からなかったのですが、
SQL Server からリンクサーバー経由で CSV を読み込ませている、ということですか?


> ODBC "×" :[Microsoft][ODBC Text Driver]ファイル'(不明)'を開くことが
> できませんでした。ほかのユーザが排他的に開いているか、データを読み取
> る権限がありません。
> のメッセージがでます。
それは、ODBC のエラーメッセージですよね。
SQL Server が返してきたというエラーは、どのようなものなのでしょうか?


> また、CSVファイルを開くと
> ファイルが他で使用中です。
> のメッセージがでます。
CSV ファイルを開いたままそれを帳票に渡しているなど、複数個所からの
同時アクセスが行われていないでしょうか。うろ覚えですが、Text ドライバーでは
“Shared ではない”方法でファイルがオープンされてしまい、同時に
アクセスした場合に、今回のエラーが表示されたように記憶しています。

[ツリー表示へ]
タイトルRe^2: クリスタルレポートが動かない!?
記事No15309
投稿日: 2011/08/23(Tue) 14:32
投稿者たく
回答ありがとうございます。

> 間違って覚えている人も多いのですが、
> 「Crystal Report」ではなく
> 『Crystal Reports』ですよ。
すみません。

> > VB5.0からVB6.0へのコンバートにてクリスタルレポートからの印刷における問題が解決
> > できないため、投稿させていただきます。
> クリスタルレポートを専門に扱っているコミュニティを利用した方が良かったのかも。
> http://www.hirano.cc/crystalreports/
そちらも利用させていただきましたが、回答が全く来ない状態で・・・。
VB5.0から出力されることや、SQLサーバからデータ取得して出力する場合に問題が
発生しないので、VB6に問題があるのではと思い、こちらに投稿いたしました。

> > ODBC接続にてtxtファイル(CSV形式)を読み込む。
> > VB5.0にて開発していた帳票印刷プログラムにおいてSQLサーバエラーが発生。
> SQL Server と CSV の関係が良く分からなかったのですが、
> SQL Server からリンクサーバー経由で CSV を読み込ませている、ということですか?
Crystal Reports ファイルのデータベースの指定の際にODBCを利用しています。
その際に指定するODBC接続がTEXT DRIVERの接続であり、対象のデータベースにCSVファイル
を指定しています。

なお、エラーメッセージにSQLサーバエラーと出るのは、Crystal Reportsの仕様だと思います
が、CSVファイルなどからのデータ取得にSQL文を発行しているためと思います。
  
> > ODBC "×" :[Microsoft][ODBC Text Driver]ファイル'(不明)'を開くことが
> > できませんでした。ほかのユーザが排他的に開いているか、データを読み取
> > る権限がありません。
> > のメッセージがでます。
> それは、ODBC のエラーメッセージですよね。
> SQL Server が返してきたというエラーは、どのようなものなのでしょうか?
そうですね。こちらはODBCのエラーメッセージです。
SQLサーバはエラーを返していません。
というよりSQLServerを利用していません。

> > また、CSVファイルを開くと
> > ファイルが他で使用中です。
> > のメッセージがでます。
> CSV ファイルを開いたままそれを帳票に渡しているなど、複数個所からの
> 同時アクセスが行われていないでしょうか。うろ覚えですが、Text ドライバーでは
> “Shared ではない”方法でファイルがオープンされてしまい、同時に
> アクセスした場合に、今回のエラーが表示されたように記憶しています。
今回エラーが発生する Action=1 の直前まではCSVファイルは開くことが可能です。
エラーが発生してから、VBを閉じるまでCSVファイルを開くと当メッセージが出ます。

よろしくお願いします。

[ツリー表示へ]
タイトルRe: クリスタルレポートが動かない!?
記事No15310
投稿日: 2011/08/23(Tue) 15:25
投稿者たく
現時点までの調査結果ですが・・・

CSVからデータ取得をした場合のみエラーが出ます。

VB6.0のコーディングは同じです。

【SQLSERVERの接続RPT】

    CrystalReport1.ReportFileName
     = "SQL.rpt"
    CrystalReport1.SelectionFormula = ""
    CrystalReport1.Action = 1

  問題なく出力されます。

※SQL.RPTはデータベースにSQLServerを設定しています。(ODBC接続で)

【ファイルの接続RPT】

    CrystalReport1.ReportFileName
     = "TXT.rpt"
    CrystalReport1.SelectionFormula = ""
    CrystalReport1.Action = 1

  CrystalReport1.actio=1 でエラー

※TXT.RPTはデータベースにText Driverを設定しています。(ODBC接続で)

ODBCとスキーマファイルの再作成、新規プロジェクトからの印刷を試してみましたが、
現象が変わっていません。

よろしくお願いします。

[ツリー表示へ]
タイトル未解決 お願いします。
記事No15321
投稿日: 2011/08/26(Fri) 11:47
投稿者たく
まだ解決していません。お願いいたします。

[ツリー表示へ]
タイトルRe: 未解決 お願いします。
記事No15322
投稿日: 2011/08/26(Fri) 14:24
投稿者魔界の仮面弁士
> まだ解決していません。お願いいたします。

マルチポスト先の Q&A掲示板#14944 にも書いていますが、
正規ルートでの問い合わせは並行して行われているのでしょうか?

[ツリー表示へ]