Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak napisać dane wyjściowe procedury składowanej bezpośrednio do pliku na serwerze FTP bez używania plików lokalnych lub tymczasowych?

Gdybyś mógł zaimplementować zestawy integracyjne CLR, mógłbyś faktycznie używać FTP bez konieczności pisania pliku tymczasowego:

public static void DoQueryAndUploadFile(string uri, string username, string password, string filename)
{
    FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(uri + "/" + filename);
    ftp.Method = WebRequestMethods.Ftp.UploadFile;
    ftp.Credentials = new System.Net.NetworkCredential(username, password);

    using(StreamWriter sw = new StreamWriter(ftp.GetRequestStream()))
    {
        // Do the query here then write to the ftp stream by iterating DataReader or other resultset, following code is just to demo concept:
        for (int i = 0; i < 100; i++)
        {
            sw.WriteLine("{0},row-{1},data-{2}", i, i, i);
        }
        sw.Flush();
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 10 najczęściej zadawanych pytań dotyczących monitorowania wydajności serwera SQL

  2. Wiersz SQL rozdzielany przecinkami z klauzulą ​​Group By

  3. Jak łączyć ciągi w SQL Server za pomocą CONCAT()

  4. SQL Server 2008 R2 Użytkownik nie może korzystać z procedury systemowej

  5. kursor z sp_executesql i parametrami