/ / Кристални отчети, създаващи временна таблица със SQL Server - sql-сървър, tsql, кристал-отчети

Crystal Reports създава временна таблица със SQL Server - sql-сървър, tsql, кристални отчети

Използвам Crystal Reports 2008 със SQL Server 2014.

Прочетох в интернет, че е възможно да се създаде временна таблица с Crystal Reports. Тази връзка казва, че един от многото примери -> Натисни тук

Но когато отида при експерта по базата данни, създайте нова команда и въведете следния DDL

 CREATE TABLE #temp_test (col1 VARCHAR(5))

Получавам тази грешка

въведете описанието на изображението тук

Превод:

грешка в конектора на базата данни: „Няма съобщение за грешка от сървъра“

И все пак, когато правя това със SQL Server в моята база данни, всичко е наред.

Успяхте ли да го направите? Ако да, как?

Звучи ми като градска легенда, но може би греша ...

Наздраве

Отговори:

1 за отговор № 1

Когато създавате таблица „Command“ в Crystal,вие "давате на Crystal набор от текст, който да изпратите на SQL сървъра, и Crystal очаква в замяна набор от данни. Всичко между тях се прави на SQL сървъра. Crystal проверява командата, като я изпраща на SQL сървъра, когато го въведете за да видите дали работи.

Като се има предвид това, вашата temp таблица всъщност е създадена на SQL сървъра. Също така, когато създадете таблица с темп, тя се изтрива, след като командата приключи с изпълнение.

В резултат на това, ако използвате само този код, SQLсървърът ще създаде таблицата, но няма набор от данни за връщане. Той успява, така че не "връща грешка, но също така и не връща данни, оттук и съобщението:" Няма съобщение за грешка от сървъра ".

За следващата ви стъпка бих препоръчал да използвате код като този:

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

Това ще създаде празен набор от данни, към който да се върнетеКристал, така че да получи нужния отговор. Казвам това, за да не мислите, че нещо не е наред, когато не виждате нищо. Ще трябва да вмъкнете данни в таблицата с темп, за да го получите от оператора select за визуално потвърждение.

Бих предложил също да не използвате темптаблица, освен ако не определите, че правите или наистина ще се нуждаете от такава в обхвата на командата. Например, може да ви е необходима такава, за да увеличите производителността на особено сложна заявка или CTE, така че може да повишите производителността, за да използвате таблица с темп. Но първо бих създал това запитване и се притеснявам за оптимизация, след като имам поне някои от тях разработени.