Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Aplicação Web acessando servidor externo


fdefod

Pergunta

Boa pessoal,

Estou com um problemão... tenho que desenvolver um aplicação web que acesse dois servidores externos pelo IP e os compare, o problema é que eu não sei nem por onde começar, se alguém pudem me dar uma luz aí.. Obs os seridores está em php e mysql, tenho que comparar todas as tabelas se estão iguais nos dois servidores!!

Editado por fdefod
Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Brother.. o problema é que eu não sei como fazer a conexão com servidor externo... será que usando este trecho de código eu consigo acessar???????

MySqlConnection con = new MySqlConnection("Database=bdMeuBancoDeDados;Data Source=xxx.xxx.xx.xxx;User Id=edgar;Password=esteves; pooling=false");

MySqlCommand _com = new MySqlCommand();

_com.CommandText = "show tables from ";

_com.CommandType = CommandType.Text;

_com.Connection = con;

con.Open();

MySqlDataReader reader = _com.ExecuteReader();

while (reader.Read())

{

linha = reader.GetString(i).ToString() + "\n";

i++;

}

Outra pergunta como acessar as pastas do servidor??? Não tenho nenhuma idéia se tiver algum codigo que possa me dar uma luz eu agradeço!!!

Me ajudem pessoal!!!

Editado por fdefod
Link para o comentário
Compartilhar em outros sites

  • 0

Amigão obrigado por ajudar.. como você disse só passar o ip que já consigo acessar o banco.

Agora.. se eue quiser acessar uma pasta que esteja neste servidor o que eu tenho que fazer? Estou sem idéias. Quero por exemplo saber quais arquivos tem dentro da pasta tal!

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal achei uma dll que acho q vai resolver meu problema

coloquei o seguinte codigo

ftp.Connect("xx.xx.xxx.xxx"); //IP da maquina servidora

ftp.Login("cccccc", "cccccc"); //Login e senha

ftp.ChangeFolder("c:\\Web"); // Método para listar todos arquivos e pastas que estiver no caminho passado

List<FtpItem> list = ftp.GetList();

foreach (FtpItem item in list)

{

ListBox1.Items.Add(item.Name);

}

o probelma é o seguinte na linha onde pede o caminho da pasta tá dando o seguinte erro:

c:\web: The filename, directory name, or volume label syntax is incorrect.

alguém sabe me dizer o q significa?

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal,

Tenho as credenciais de acesso do servidor (username, password), tem como acessar uma pasta e listar todos arquivos no servidor sem ter que colocar esta pasta como compartilhada? Achei uma maneira aqui mas é compartilhando a a pasta:

DirectoryInfo diDirectory = new DirectoryInfo(@"\\xx.xx.xxx.xxx\server\); // ip e nome da pasta compartilhada

ArrayList Array = new ArrayList();

if (diDirectory.Exists)

{

FileInfo[] fiAllFile = diDirectory.GetFiles();

if (fiAllFile != null)

{

foreach (FileInfo file in fiAllFile)

Array.Add(file);

}

}

mas este tipo de acesso não pode se dar aqui no servidor. tenho que fazer um acesso usando credenciais. alguém tem uma forma de se fazer isto???????

Editado por fdefod
Link para o comentário
Compartilhar em outros sites

  • 0

Colegas,

tow com uma duvida, meu web service que roda no servidor recebe um caminho e retorna todos os arquivos e pastas deste caminho.

A pasta que eu pesquiso tem um pouco mais 20.000 arquivos e 396 pastas. Minha aplicação chama o metodo da web service e chama o mesmo metodo na maquina local que tem a mesma pasta, depois ele faz um for passando por todos os itens do array e comparando com o array da pasta local. Este processo rodando está demorando quase 1 minuto e meio pra carregar a tela. Gostaria de saber se tem como otimizar este codigo!

protected void Button2_Click(object sender, EventArgs e)
        {
            string caminho;
            caminho = txtCaminhoPasta.Text;
            for (int k = 0; k < caminho.Length; k++)
            {
                if (caminho[k].Equals('\\'))
                    caminho.Insert(k, '\\'.ToString());
            }
            ArrayList intelig = new ArrayList();
            ArrayList array = new ArrayList();
            DataTable dtSample = new DataTable();
            dtSample.Columns.Add(new DataColumn("ARQUIVO EM A", typeof(string)));

            // dtSample.Columns.Add(new DataColumn("SERVIDORA", typeof(string)));
            dtSample.Columns.Add(new DataColumn("SERVIDORB", typeof(string)));
            dtSample.Columns.Add(new DataColumn("TIPO", typeof(string)));
            //dtSample.Columns.Add(new DataColumn("STATUS", typeof(int)));
            DataRow row;
          
            if (txtCaminhoPasta.Text.Equals(""))
                Label3.Visible = true;
            else
            {
                array = new ArrayList(objWs.pesquisar2(caminho));
                intelig = pesquisar2(caminho);
                Label3.Visible = false;
            }
            if (array.Count == 0)
            {
                MSN.alert("Informe um caminho válido!");
                Page.Controls.Add(MSN);
            }
            else
            {
                for (int i = 0; i < array.Count; i++)
                {
                    row = dtSample.NewRow();
                    string arquivo = array[i].ToString();
                    if (txtExtensao.Text.Equals("")) // VERIFICA SE O TEXTBOX FILTRAR POR EXTENSÂO ESTÀ VAZIO
                    {
                        if (arquivo[arquivo.Length - 4].Equals('.'))
                            row["TIPO"] = arquivo.Substring(arquivo.LastIndexOf(".") + 1);
                        else
                            row["TIPO"] = "pasta";
                        row["ARQUIVO EM A"] = array[i].ToString();
                        //row["SERVIDORA"] = "ok";
                        row["SERVIDORB"] = "falha";
                        for (int j = 0; j < intelig.Count; j++)
                        {
                            if (arquivo.Equals(intelig[j].ToString()))
                            {
                                row["SERVIDORB"] = "ok";
                                break;
                            }
                        }

                        dtSample.Rows.Add(row);

                    }
                    else
                    {
                        string tipo = "";
                        if (arquivo.Contains('.'))
                        {
                            tipo = arquivo.Substring(arquivo.LastIndexOf(".") + 1);

                            if (tipo.Equals(txtExtensao.Text))
                            {
                                row["TIPO"] = arquivo.Substring(arquivo.LastIndexOf(".") + 1);
                                row["ARQUIVO EM A"] = array[i].ToString();
                                // row["SERVIDORA"] = "ok";
                                row["SERVIDORB"] = "falha";
                                for (int j = 0; j < intelig.Count; j++)
                                {
                                    if (arquivo.Equals(intelig[j].ToString()))
                                    {
                                        row["SERVIDORB"] = "ok";
                                        break;
                                    }
                                }

                                dtSample.Rows.Add(row);
                            }
                        }
                    }
                }

                gvwTabelas2.DataSource = dtSample;
                gvwTabelas2.DataBind();
            }
        }

Editado por quintelab
Adicionado BBcode Code
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...