/ / SQL Serverで一時テーブルを作成するCrystal Reports-sql-server、tsql、crystal-reports

SQL Serverを使用して一時テーブルを作成するCrystal Reports - sql-server、tsql、crystal-reports

Crystal Reports 2008とSQL Server 2014を使用しています。

インターネットで、Crystal Reportsを使用して一時テーブルを作成できることを読みました。このリンクは、多くの例の1つ-> ここをクリック

しかし、データベースの専門家に行くと、新しいコマンドを作成して次のDDLを入力します

 CREATE TABLE #temp_test (col1 VARCHAR(5))

このエラーが出ます

ここに画像の説明を入力

翻訳:

データベースコネクタエラー:「サーバーからのエラーメッセージはありません」

それでも、データベースでSQL Serverを使用してこれを実行しているときは、すべて問題ありません。

なんとかできましたか?はいの場合、どのように?

私には都会の伝説のように聞こえますが、私は間違っているかもしれません...

乾杯

回答:

回答№1は1

Crystalで「コマンド」テーブルを作成すると、「CrystalにSQLサーバーに送信するテキストのセットを提供します。Crystalは、返されるデータセットを予期します。その間のすべてがSQLサーバーで行われます。入力すると、CrystalはコマンドをSQLサーバーに送信してチェックします動作するかどうかを確認します。

そのため、一時テーブルは実際にSQLサーバー上に作成されます。また、一時テーブルを作成すると、コマンドの実行が終了すると削除されます。

その結果、このコードのみを使用すると、SQLサーバーはテーブルを作成しますが、返すデータセットはありません。成功するため、「エラーを返さないが、データも返さない」ため、「サーバーからのエラーメッセージがありません」というメッセージが表示されます。

次のステップでは、次のようなコードを使用することをお勧めします。

CREATE TABLE #temp_test (col1 VARCHAR(5))
SELECT * FROM #temp_test

これにより、空のデータセットが作成されて戻りますクリスタル、必要な応答を取得します。これを言うと、「何も表示されないときは何も間違っているとは思わないようになります。それを取得するには、一時テーブルにデータを挿入する必要があります」視覚的な確認のためのselectステートメントから。

また、「一時的なコマンドのスコープ内で実際に必要と判断した場合、または実際に必要と判断した場合を除きます。たとえば、特に複雑なクエリまたはCTEでパフォーマンスを向上させるために、一時テーブルを使用するとパフォーマンスが向上する場合があります。しかし、最初にそのクエリを作成し、少なくともその一部を開発した後に最適化を心配します。