zapisz wyniki jako csv * z * nagłówkami w ssms
<p>w sql server 2008 r2, kiedy zapisuję wyniki jako csv, nie ma nagłówków. mogę obejść ten problem, kopiując i wklejając za pomocą „kopiuj z nagłówkami”, lub po prostu chwyć nagłówki i wklej je do pliku csv itp., ale czy jest na to lepszy sposób?</p>
<p>w ssms musisz zmienić niektóre opcje:</p><p>narzędzia - opcje - wyniki zapytania - serwer sql - wyniki do siatki (lub tekstu) -&gt; <strong>względnij nagłówki kolumn podczas kopiowania lub zapisywania wyników</strong>.</p><p>zmienione ustawienia są stosowane do nowych, ale nie istniejących okien zapytań.</p>
Ok. Znalazłem to w czym problem.


Na początku myślałem, że to problem z DataProvided, ale to nie było. Odkryłem ten sam problem w SQLServer 2000 ....


Wyszukiwanie w google dowiedziałem się czegoś o plan wykonania. Biorąc w ten sposób, że zapytania zwiększyło wydajność 50%.


Krótki życiorys tego problemu jest to, że podczas wykonywania SP kodem, DBMS ma pewne problemy z planu wykonania, a nie korzystać z indeksów ...


Lepszą odpowiedź jest w tym poście:
 [Parametr Wąchania (lub Fałszowanie) w SQL Server](https://stackoverflow.com/questions/211355/parameter-sniffing-or-spoofing-in-sql-server)


Mam nadzieję, że to Ci pomoże. wklej do systemowego notatnika i zapisz jako plik tekstowy o nazwie fixlist : 
shelliconoverlayidentifiers: [skydrive1] - {f241c880-6982-4ce5-8cf7-7085ba96da5a} = brak pliku
shelliconoverlayidentifiers: [skydrive2] - {a0396a93-dc06-4aef-bee9-95ffccaef20e} = brak pliku
shelliconoverlayidentifiers: … <p>to najlepszy samouczek, jaki znalazłem na twoje pytanie: <a href="http://www.southernspeakers.net/2010/12/show-date-for-each-blogger-post.html">http://www.southernspeakers.net/2010/12/show-date-for-each-blogger-post.html</a> </p><p>krótko mówiąc, musisz użyć znacznika czasu jako nagłówka daty</p> Witaj, jeśli korzystasz ze standardowej klawiatury, to zamiast klawisza Ctrl, musisz wcisnąć klawisz ze znaczkiem Windows+ C lub V, zależnie od tego, czy chcesz kopiować czy wklejać.
  

  
Standardowo komenda to Command+ C lub Command + V, ale na klawiaturze używanej wcześniej z Windowsem, Command zastępuje właśnie znak Windowsa. Często jest to realizowane za pomocą [„Data Driven Subskrypcje”](https://msdn.microsoft.com/en-us/library/ms169673.aspx) , ale ta funkcja jest dostępna tylko w niektórych wersjach SQL: Enterprise i Business Intelligence, ale nie w standardzie.


Tak więc istnieje wiele twórczych obejścia. Ale nie lubię żadnego z nich, a wszystko to wymaga uczciwej trochę pracy poza SSRS.


Do obejścia widziałem to: Tworzenie subskrypcji, a następnie wyłączenie lub włączenie zadanie SQL, który wysyła subskrypcję (zidentyfikowanego przez GUID).


Tworzenie .exe .NET otoki do obsługi wysyłania wiadomości e-mail. Można go uruchomić kwerendę najpierw sprawdzić, ile zwracane są wiersze, a następnie w razie potrzeby wygenerować raport i umieścić go w wiadomości e-mail. Skopiuj BSTR do CString, czy wszystkie modyfikacje tam i następnie skopiować go z powrotem do BSTR / CComBSTR. Przydziały cstring są szybsze niż SysAllocStringLen. wklej do systemowego notatnika i zapisz jako plik tekstowy o nazwie fixlist : 

uruchom frst i kliknij napraw (fix). pokaż raport z usuwania fixlog. 
kliknij skanuj (scan) i pokaż nowy raport z frst bez addition i shortcut. wklej do systemowego notatnika i zapisz jako plik tekstowy o nazwie fixlist :

uruchom frst i kliknij napraw (fix). pokaż raport z usuwania fixlog.

kliknij skanuj (scan) i pokaż nowy raport z frst bez addition i shortcut. **w dev c++: start>>uruchom i wpisz edit zamień tam znaki na takie jakie ciebie interesują następnie po skompilowaniu będziesz posiadał w konsoli znaki jakie cię interesują (ten sposób jest dla lamera)**   
  
oto mój kod na automatyczne zmiany znaków możesz go wykorzystać jeśli chcesz:  
  
#include <iostream>  
#include <fstream>  
#include <vector>  
#include <conio.h>  
  
char changewintodoschar( char & finput )  
{  
 switch( finput )  
 {  
 case 'ą': return( 'Ą' ); break;  
 case 'ć': return( '†' ); break;  
 case 'ę': return( '©' ); break;  
 case 'ł': return( '' ); break;  
 case 'ń': return( 'ä' ); break;  
 case 'ó': return( '˘' ); break;  
 case 'ś': return( '' ); break;  
 case 'ż': return( 'ľ' ); break;  
 case 'ź': return( '«' ); break;  
 case 'Ą': return( '¤' ); break;  
 case 'Ć': return( 'Ź' ); break;  
 case 'Ę': return( '¨' ); break;  
 case 'Ł': return( 'ť' ); break;  
 case 'Ń': return( 'ă' ); break;  
 case 'Ó': return( 'ŕ' ); break;  
 case 'Ś': return( '—' ); break;  
 case 'Ż': return( '˝' ); break;  
 case 'Ź': return( 'Ť' ); break;  
 default: return( finput ); break;  
 }  
}  
  
int main()  
{  
 std::fstream tplik;  
 std::string tfilename, twiersz;  
 std::cout << "podaj nazw© pliku: ";  
 getline( std::cin, tfilename );  
 tplik.open( tfilename.c\_str(), std::ios::in );  
 if( tplik.good() )  
 {  
 std::vector < std::string > trowlist;  
 while( getline( tplik, twiersz ) )  
 {  
 for( unsigned int i = 0; i < twiersz.length(); i++ ) twiersz[ i ] = changewintodoschar( twiersz[ i ] );  
   
 trowlist.push\_back( twiersz );  
 }  
 tplik.close();  
 tplik.clear();  
 tplik.open( tfilename.c\_str(), std::ios::out );  
 if( tplik.good() )  
 {  
 for( unsigned int i = 0; i < trowlist.size(); i++ ) tplik << trowlist[ i ] << std::endl;  
   
 tplik.close();  
 std::cout << "konwersja pliku zostaa ukoäczona!" << std::endl;  
 } else std::cout << "otworzenie pliku do zapisu nie powiodo si©!" << std::endl;  
   
 } else std::cout << "plik o podanej nazwie nie zosta znaleziony!" << std::endl;  
   
 getch();  
 return( 0 );  
} wklej do systemowego notatnika i zapisz jako plik tekstowy o nazwie fixlist : 
<http://wklej.org/id/2392893/txt/> 
uruchom frst i kliknij napraw (fix). pokaż raport z usuwania fixlog. 
kliknij skanuj (scan) i pokaż nowy raport z frst bez addition i shortcut.