none
ASP Clássico com SQL Server 2008 RRS feed

  • Pergunta

  • Olá pessoal,

    Estou tentando fazer uma conexão com  SQL Server 2008 R2 utilizando o ASP, mas não estou conseguindo, já tentei ver vários códigos na internet mas nenhum funciona, segue o código abaixo:

     

    <%
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.ConnectionString = "Provider=SQLOLEDB; Server=ROBERTO-PC\SQLEXPRESS; Initial Catalog=Teste;"
    conn.open

    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "Select * from names", conn
    %>

    <table>
    <tr>
    <td><strong>Names</strong></td>
    </tr>

    <%do until rs.eof%>

    <tr>
    <td><%=rs.Fields("names")%></td>
    </tr>

    <%rs.MoveNext
    Loop%>

    </table>

    Estou tentando rodar no IIS e estou usando a instância padrão do SQL Server, não criei nenhum usuário, por isso não coloco usuário e senha no código, o erro que ele retorna é este(que não ajuda muito):

    An error occurred on the server when processing the URL. Please contact the system administrator.

    If you are the system administrator please click here to find out more about this error.

    Quem puder dar um help, valeu!!


    • Editado Petrucci02 quarta-feira, 1 de fevereiro de 2012 20:26
    quarta-feira, 1 de fevereiro de 2012 20:21

Respostas

  • Pessoal,

    Depois de tanto tentar, consegui resolver. O erro era o Provider, e também precisei modificar a string de conexão:

    conn.ConnectionString = "Provider=SQLNCLI10;Server=ROBERTO-PC\SQLEXPRESS;Database=Teste; Persist Security Info=False;Integrated Security=SSPI;"

    Agora funciona perfeitamente, agradeço a ajuda de todos!

    • Marcado como Resposta Petrucci02 domingo, 12 de fevereiro de 2012 00:58
    domingo, 12 de fevereiro de 2012 00:58

Todas as Respostas

  • Petruci, bom dia. Compare com a sua string de conexão e inclua os parâmetros que eu estou utilizando. Aqui funciona perfeitamente, faça o teste:

    "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Northwind;Data Source=ONOFREJ\SQLEXPRESS"
    

    Atenciosamente,

    Onofre A. Juvencio Junior

    (Se a achou útil o post, por favor, marque-o como resposta)

    quinta-feira, 2 de fevereiro de 2012 12:29
  • Olá Onofre, muito obrigado pela ajuda mas ainda estou com o mesmo erro, comparei os parâmetros da string de conexão como você indicou e deixei da seguinte forma:

    "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Teste;Data Source=ROBERTO-PC\SQLEXPRESS"

    Acho que não há nada mais para ser alterado, será que é preciso configurar alguma coisa a mais? Alguma fonte ODBC? Testei a query SQL que está no meu código e funciona normalmente, a base de dados está OK.

    Obrigado novamente!

    quinta-feira, 2 de fevereiro de 2012 14:03
  • Amigo,

    Acredito que isso seja um erro simples de configuração, o banco está instalado na sua maquina?
    Eu prefiro configurar o servidor para aceitar conexões via IP, veja esse link http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/ se te ajuda!

    Não esqueça de manter a gente informado!

    Abraço!


    Não esqueça de marcar como útil uma resposta que te ajude.
    "A diversão é a alma do negócio"
    sábado, 4 de fevereiro de 2012 19:49
  • Lucas,

    Também acho que é um problema com a configuração. O banco está sim na minha máquina, segui o tutorial que você passou e mudei a conexão, estou tentando conectar passando o IP mas ainda não funciona, me disseram que eu tenho que instalar o serviço(SQL) no IIS, será que é isso? Se for não faço ideia de como faz rsrs. Aí vai meu código:

    <%
    strDataSoure = "201.52.53.74"
    strDataBase ="Teste"

    strQuery = "select * from Names; "

    strConexao = "Provider=SQLOLEDB.1;SERVER=" & strDataSoure
    strConexao = strConexao & "; DATABASE=" & strDataBase


    set objConn = server.CreateObject("ADODB.Connection")
    objConn.open strConexao
    set rs=Server.CreateObject("ADODB.RecordSet")
    rs.Open strQuery, strConexao
    do until rs.EOF
    for each x in rs.Fields
    Response.Write(CStr(x.Value)) & "<br>"
    next
    rs.MoveNext
    loop

    objConn.close
    set rs = nothing
    set objConn = nothing
    %>

    Tks!

    quarta-feira, 8 de fevereiro de 2012 20:09
  • Andei mexendo no IIS e mudei a mensagem de erro:

    Provider erro '80040e21'

    Operação OLE DB de várias etapas gerou erros. Verifique cada valor de status OLE DB. Nada foi executado.

    Esse erro ocorre quando tento abrir a conexão, procurei por este erro no google mas não tive muita informação que me ajudasse, alguém já passou por isso?

    Obrigado,

    quarta-feira, 8 de fevereiro de 2012 21:10
  • Pessoal,

    Depois de tanto tentar, consegui resolver. O erro era o Provider, e também precisei modificar a string de conexão:

    conn.ConnectionString = "Provider=SQLNCLI10;Server=ROBERTO-PC\SQLEXPRESS;Database=Teste; Persist Security Info=False;Integrated Security=SSPI;"

    Agora funciona perfeitamente, agradeço a ajuda de todos!

    • Marcado como Resposta Petrucci02 domingo, 12 de fevereiro de 2012 00:58
    domingo, 12 de fevereiro de 2012 00:58