Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Xuất Dữ liệu Máy chủ SQL thành tệp CSV

Đối với những gì nó đáng giá, nếu tất cả những gì bạn muốn là thực hiện một truy vấn và đổ nội dung vào một nơi nào đó, có vẻ như bạn đang làm nhiều việc hơn những gì bạn phải làm. Sự phức tạp có thể tăng thêm thách thức trong việc gỡ lỗi.

Một ví dụ thực sự rõ ràng về việc đọc một truy vấn và chuyển hướng đầu ra tới một tệp có thể trông giống như sau:

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();

Mặc dù nó có thể không ngắn hơn đáng kể so với mã bạn đã liệt kê, nhưng tôi nghĩ nó đơn giản hơn và sẽ dễ gỡ lỗi hơn. Tôi chưa thử nghiệm điều này, vì vậy tôi không thể chắc chắn rằng nó hoạt động, mặc dù tôi nghĩ rằng nó khá gần.

Một điều đáng nói khác ... cả hai đều không phải là đầu ra CSV thực sự. Bạn cần đảm bảo rằng bạn xử lý các dấu phẩy nhúng, ký tự trả về, v.v., nếu chúng có trong bất kỳ đầu ra nào. Tuy nhiên, điều đó đủ dễ dàng để thực hiện.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tìm một chuỗi trong một chuỗi trong SQL Server

  2. Không thể tìm thấy microsoft.sqlserver.batchparser.dll

  3. Kết nối với SQL Server thông qua PDO bằng SQL Server Driver

  4. Khởi động SQL Express từ WiX?

  5. Hệ thống quản lý cơ sở dữ liệu phổ biến nhất trên thế giới