Array
(
)

database connection to MSSQL 2005 with asp classic

Roberto Kuspe
   - 02 set 2015

Boa tarde,
Tenho pouca experiência com MSSQL, mas já é hora de abandonar as facilidades do MSACCESS e partir para um banco de dados de verdade. Sim, conheço e estou engatinhando no MYSQL. Como tenho alguma experiência com ASP clássico, gostaria de fazer uma conexão com o banco de dados do MSSQL Server, mas parecer ser bem complicado, além do que acada versão do banco dedados, as conections strings são diferentes. Adaptei o script abaixo para tentar uma conexão com um banco de dados MSSQL 2005. Já configurei meu computador que roda num Windows 7 para rodar ASP. Está funcionado bem, exceto para acessar o MSSQL!!!
<%
Server.ScriptTimeout=200

'declare the variables
Dim Connection
Dim ConnString
Dim Recordset
Dim SQL
'define the connection string, specify database driver
ConnString="DRIVER={SQL Server};SERVER='USER-PC\SQLEXPRESS';UID='SA';" & _
"PWD='elsevier';DATABASE='TESTEX.mdb'"
'declare the SQL statement that will query the database

SQL = "SELECT * FROM MYTABLE "
'create an instance of the ADO connection and recordset objects
Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")

'Open the connection to the database
Connection.Open ConnString
'Open the recordset object executing the SQL statement and return records
Recordset.Open SQL,Connection

'first of all determine whether there are any records
If Recordset.EOF Then
Response.Write("Nords returned.")
Else
'if there are records then loop through the fields
Do While NOT Recordset.Eof
Response.write Recordset("NOME")
Response.write "
"
Recordset.MoveNext
Loop
End If
'close the connection and recordset objects to free up resources
Recordset.Close
Set Recordset=nothing
Connection.Close
Set Connection=nothing
%>
</body>
</html>
Alguém poderia ajudar-me a fazer funcionar corretamente este script?
Abraço
Bob

Jothaz
   - 02 set 2015

#Código

ConnString="DRIVER={SQL Server};SERVER=USER-PC\SQLEXPRESS;UID=SA;" & _ 
"PWD=elsevier;DATABASE=TESTEX.mdb"

Fernando C
   - 02 set 2015

sql server express é instalado, por padrão,
com o protocolo TCP/IP bloqueado - pelo menos as versões 2005/2008,
precisa ativa-lo (isso é chamado permissão a conexões remotas"):
http://www.google.com/search?q=configurar+sql+server+express+2005&ie=utf-8&oe=utf-8&rls=org.mozilla:pt-BR:official&client=firefox-a&gfe_rd=cr&ei=BDvnVbeaF86w8weEr4CoAQ

e é preciso também dar direitos de escrita/leitura nos arquivos e na pasta
onde está o BD e compartilhar a pasta.

string de conexão, tente assim, sem aspas simples e tudo numa linha só:
"DRIVER={SQL Server};SERVER=USER-PC\SQLEXPRESS;UID=SA;PWD=elsevier;DATABASE=TESTEX"
(tire o ".mdb")

ou usando o "client":
"DRIVER={SQL Server Native Client 10.0};server=USER-PC\SQLEXPRESS;uid=sa;pwd=SENHA;database=NOME_DO_BANCO"

obs: essa versão do "native client" 10.0 é p/ o 2008; p/ descobrir a versão correta do 2005 (nem lembro mais, usei mto pouco o 2005, era bastante instavel)
va em painel de controle - ferramentas administrativas - fontes de dados (ODBC) - fontes de dados de sistema - Adicionar - "Sql server native client..."

1 solução + pratica p/ vc estuda-lo local é criar 1 conexão via ODBC, pq ai normalmente vc poderá tb liberar a porta no firewall.

Roberto Kuspe
   - 02 set 2015

Obrigado. Fernando e Jothaz

Imaginei que o problema estava aí, na conection string.

Esta solução funcionou perfeitamente.

Agora, preciso ler mais para entender melhor