Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Ekspor Data SQL Server ke file CSV

Untuk apa nilainya, jika yang Anda inginkan hanyalah mengambil kueri dan membuang konten di suatu tempat, sepertinya Anda melakukan sedikit lebih banyak pekerjaan daripada yang seharusnya. Kompleksitas dapat menambah tantangan dalam debugging.

Contoh sederhana dari membaca kueri dan mengarahkan output ke file mungkin terlihat seperti ini:

SqlConnection sqlCon = new SqlConnection("REMOVED");
sqlCon.Open(); 

SqlCommand sqlCmd = new SqlCommand(
    "Select * from products.products", sqlCon);
SqlDataReader reader = sqlCmd.ExecuteReader();

string fileName = "test.csv";
StreamWriter sw = new StreamWriter(fileName);
object[] output = new object[reader.FieldCount];

for (int i = 0; i < reader.FieldCount; i++)
    output[i] = reader.GetName(i);

sw.WriteLine(string.Join(",", output));

while (reader.Read())
{
    reader.GetValues(output);
    sw.WriteLine(string.Join(",", output));
}

sw.Close();
reader.Close();
sqlCon.Close();

Meskipun mungkin tidak terlihat lebih pendek secara dramatis daripada kode yang Anda daftarkan, saya pikir ini lebih sederhana dan akan lebih mudah untuk di-debug, di luar kotak. Saya belum menguji ini, jadi saya tidak bisa memastikan itu berhasil, meskipun menurut saya itu cukup dekat.

Hal lain yang perlu disebutkan... tidak satu pun dari ini adalah keluaran CSV yang sebenarnya. Anda harus yakin bahwa Anda menangani koma yang disematkan, mengembalikan karakter, dll, jika mereka berada di salah satu output. Itu cukup mudah untuk dilakukan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ganti String dengan String lain di SQL Server (T-SQL)

  2. Prosedur mengharapkan parameter yang tidak diberikan

  3. Server SQL memilih baris yang berbeda hanya menggunakan nilai terbaru

  4. Cara Mendapatkan Tanggal Saat Ini di SQL Server

  5. SQL Server APAPUN Operator Dijelaskan