Não sou programador, trabalho em contabilidade e financeiro por isso utilizo muito o excel e como seria de se esperar cheguei ao VBA.
Estou tentando extrair informações específicas do Banco de dados do meu ERP (SQL), pesquisei e copiei uma macro com esta finalidade, fiz as correções mais óbvias para um leigo, BD, Servidor, ID, etc... . Quando rodo a macro esta retorna um erro de SQL Server inexistente ou acesso negado, conforme print abaixo:
Utilizo o pacote Office 2007, o ID, senha, Servidor, BD, Tabela, tudo isto está correto pois vez ou outra acabo importando via conexão de Dados externos do próprio excel, poderia até seguir nesta linha, se não fosse a quantidade de tabelas e campos que preciso extrair e mais ainda, o tamanho atual de cada uma das tabelas, por isso preciso trazer apenas alguns campos específicos com filtros.
Agradeço o auxílio, segue abaixo a macro:
Código (Text):
Sub ImportardadosSQL()
' habilite a ref. Microsoft ActiveX Data Objects 2.8 Library
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim ConnectionString As String
Dim StrQuery As String, PASS As String, UserName As String, REMOTE_IP_ADDRESS As String, DATABASE As String
' insira os dados (entre aspas), abaixo:
PASS = ""
UserName = ""
REMOTE_IP_ADDRESS = ""
DATABASE = ""
cnn.ConnectionString = "Provider=SQLOLEDB.1;Password=PASS;Persist Security Info=True;User ID=UserName;Data Source=REMOTE_IP_ADDRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=DATABASE"
cnn.Open
cnn.CommandTimeout = 900
StrQuery = "SELECT * FROM transcli " & "WHERE sinal like 'D'"
Pergunta
Jaime Bezerra
Bom dia,
Não sou programador, trabalho em contabilidade e financeiro por isso utilizo muito o excel e como seria de se esperar cheguei ao VBA.
Estou tentando extrair informações específicas do Banco de dados do meu ERP (SQL), pesquisei e copiei uma macro com esta finalidade, fiz as correções mais óbvias para um leigo, BD, Servidor, ID, etc... .
Quando rodo a macro esta retorna um erro de SQL Server inexistente ou acesso negado, conforme print abaixo:
Utilizo o pacote Office 2007, o ID, senha, Servidor, BD, Tabela, tudo isto está correto pois vez ou outra acabo importando via conexão de Dados externos do próprio excel, poderia até seguir nesta linha, se não fosse a quantidade de tabelas e campos que preciso extrair e mais ainda, o tamanho atual de cada uma das tabelas, por isso preciso trazer apenas alguns campos específicos com filtros.
Agradeço o auxílio, segue abaixo a macro:
' habilite a ref. Microsoft ActiveX Data Objects 2.8 Library
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim ConnectionString As String
Dim StrQuery As String, PASS As String, UserName As String, REMOTE_IP_ADDRESS As String, DATABASE As String
' insira os dados (entre aspas), abaixo:
PASS = ""
UserName = ""
REMOTE_IP_ADDRESS = ""
DATABASE = ""
cnn.ConnectionString = "Provider=SQLOLEDB.1;Password=PASS;Persist Security Info=True;User ID=UserName;Data Source=REMOTE_IP_ADDRESS;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=DATABASE"
cnn.Open
cnn.CommandTimeout = 900
StrQuery = "SELECT * FROM transcli " & "WHERE sinal like 'D'"
rst.Open (StrQuery), cnn
'rst.Open StrQuery, cnn
'insere os dados em plan1
Sheets("transcli").Range("A1").CopyFromRecordset rst
End Sub
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.