sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik opgeslagen procedure-uitvoer rechtstreeks naar een bestand op een FTP schrijven zonder lokale of tijdelijke bestanden te gebruiken?

Als u CLR-integratie-assembly's zou mogen implementeren, zou u FTP kunnen gebruiken zonder een tijdelijk bestand te hoeven schrijven:

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. Functies van PostgreSQL-back-upmethode in AWS S3

  2. Hoe PL/SQL opgeslagen procedures te creëren zonder parameters in Oracle Database?

  3. Toegang krijgen tot een bestands-DSN vanuit Java

  4. Oracle JDeveloper gebruiken met MySQL Database Service op Oracle Cloud Platform, deel 3