はじめまして。開発環境は
Delphi2007
CrystalReport8.0
SQLServer2005 WorkGroup
にてDelphiのプログラムから帳票を印刷をかけるプログラムを作っています。
DelphiにCrystalのコントロールを組み込んで行っています。
今までParadoxをBDEを使用してCrystalを印刷していたので、そのやり方は分かるのですが、
SQL接続を利用した方法が分からなくて困っています。
厳密にはレポートを作成する際のODBC接続又は、OLEDB接続でデータを引っ張ってくることは可能なのですが、
Delphi側でどの様に記述したらよいのか分からなくて困っています。
Paradoxの時は、
CrystalReport1.Destination := crptToPrinter;
CrystalReport1.ReportFileName := '\\AAA\○○○.rpt';
CrystalReport1.DataFiles[0] := '\\BBB\△△△.DBF';
CrystalReport1.Action := 1;
と指定していました。
SQLの時は
パスワードやらなんやらの関係なのか、とりあえずレポート側で接続してるし
何か反応があるかと思い、DataFiles[0]の所は記述せずに実行してみました。
そしたら「SQLサーバーを開くことが出来ません」と出てしまいます。
OLEDB接続の場合、
Data Source、Initial Catalog、User ID、Passwordの設定文字列を渡すんだろうなと思っているのですが、どうすればいいのかわかりません。
どのたか教えていただけないでしょうか。
自己解決しました。
http://www.hirano.cc/cgi-bin/cr/yyregi.cgi
に記述されていました。
OLE DBでの接続方法を記述します。
OCXを使用して帳票印刷を行う場合は、
1.レポートの方をOLEDB接続で設定。
2.CystalReport1.Connect := 'DSN=WWWWW;UID=XXXXX;PWD=YYYYY;DSQ=ZZZZZ';
CystalReport1.DataFiles[0] := 'ZZZZZ.dbo.テーブル名';
で変更を行うようです。
で、合ってるのかな?
ツイート | ![]() |