- 12 Mai 2017 às 15:15
#23115
Boa tarde!!
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, senha e etc... .
Quando rodo a macro esta retorna um erro de SQL Server inexistente ou acesso negado, conforme imagem no link:

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 campos específicos de cada tabela 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'"
rst.Open (StrQuery), cnn
'rst.Open StrQuery, cnn
'insere os dados em plan1
Sheets("transcli").Range("A1").CopyFromRecordset rst
End Sub
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, senha e etc... .
Quando rodo a macro esta retorna um erro de SQL Server inexistente ou acesso negado, conforme imagem no link:

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 campos específicos de cada tabela 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'"
rst.Open (StrQuery), cnn
'rst.Open StrQuery, cnn
'insere os dados em plan1
Sheets("transcli").Range("A1").CopyFromRecordset rst
End Sub