Showing posts with label Linked Server. Show all posts
Showing posts with label Linked Server. Show all posts

Friday, 8 March 2013

How to upload/download file from FTP Server in Asp.net


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Net;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    // Upload file
    protected void btnUpload_Click(object sender, EventArgs e)
    {
        //fileName = Name of the file to be downloaded from FTP server.
        string fileName = "test.txt";

        //filePath = The full path where the file is to be created. Here i put local system path.
        string filePath = "C:\\FTP";

        string ftpServerIP = "IP Address";
        string ftpUserID = "User ID";
        string ftpPassword = "Password";
        FtpWebRequest reqFTP;
        try
        {
            FileStream outputStream = new FileStream(filePath + "\\"+ fileName, FileMode.Create);
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(newUri("ftp://" + ftpServerIP + "/" + fileName));
            reqFTP.Method = WebRequestMethods.Ftp.DownloadFile;
            reqFTP.UseBinary = true;
            reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
            FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();
            Stream ftpStream = response.GetResponseStream();
            long cl = response.ContentLength;
            int bufferSize = 2048;
            int readCount;
            byte[] buffer = new byte[bufferSize];
            readCount = ftpStream.Read(buffer, 0, bufferSize);
            while (readCount > 0)
            {
                outputStream.Write(buffer, 0, readCount);
                readCount = ftpStream.Read(buffer, 0, bufferSize);
            }
            ftpStream.Close();
            outputStream.Close();
            response.Close();
        }
        catch (Exception ex)
        {
            string errMsg = (ex.Message);
        }
    }

    
    // Download file
    protected void btnDownload_Click(object sender, EventArgs e)
    {
        string filename = "c:\\test.txt";
        string ftpServerIP = "IP address";
        string ftpUserID = "User ID";
        string ftpPassword = "Password";

        FileInfo fileInf = new FileInfo(filename);

        string uri = "ftp://" + ftpServerIP + "/" + fileInf.Name;

        FtpWebRequest reqFTP;

        // Create FtpWebRequest object
        reqFTP = (FtpWebRequest)FtpWebRequest.Create(newUri("ftp://" + ftpServerIP + "/" + fileInf.Name));

        //Provide ftp userid and password
        reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);

        // By default KeepAlive is true, where the control connection is not closed
        // after a command is executed.
        reqFTP.KeepAlive = false;

        //Specify the command to be executed. Here we use upload file command
        reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

        //data transfer type we use here is binary
        reqFTP.UseBinary = true;

        // Notify the server about the size of the uploaded file
        reqFTP.ContentLength = fileInf.Length;

        // The buffer size is set to 2kb
        int buffLength = 2048;

        byte[] buff = new byte[buffLength];

        int contentLen;

        // Opens a file stream (System.IO.FileStream) to read the file to be uploaded
        FileStream fs = fileInf.OpenRead();

        try
        {

            // Stream to which the file to be upload is written
            Stream strm = reqFTP.GetRequestStream();

            // Read from the file stream 2kb at a time
            contentLen = fs.Read(buff, 0, buffLength);

            // Till Stream content ends
            while (contentLen != 0)
            {

                // Write Content from the file stream to the FTP Upload Stream
                strm.Write(buff, 0, contentLen);
                contentLen = fs.Read(buff, 0, buffLength);
            }

            // Close the file stream and the Request Stream
            strm.Close();
            fs.Close();
        }
        catch (Exception ex)
        {
            string ErrMsg = ex.Message;
        }
    }
}

Friday, 1 March 2013

Example of OPENDATASOURCE command using SQL Authentication

To run it with a SQL, just need to specify User ID and Password in the connection string


SELECT * FROM
opendatasource('SQLNCLI','Server=serverIP;Uid=sa;Pwd=serversqlpwd;
Database=DBName;').DBName.dbo.TableName
 
* SsrverIP - Liknked Server IP from you want to fatch Data 
* serversqlpwd - Linke Server Sql password 
* DBName- Linked Server Databse and TableName- Linked Server Table Name  
 
InserData to linked Server from your Local Server
 
Insert Into 
opendatasource('SQLNCLI','Server=serverIP;Uid=sa;Pwd=serversqlpwd;
Database=DBName;') .DBName.dbo.TableName (ColumnName) 
Select (Your Select Query) 
 
 
Any other info, mail on lokesh.snghl@gmail.com