Det skulle inte förvåna mig om ODBC använder sig av NBNS i första hand. Pröva att ändra filen lmhosts. istället. Det finns en sådan fil med namnet lmhosts.sam. Utgå från den och spara den därefter som "lmhosts."
Jag försöker att från VB connecta till en SQL Server 7.0.
Tanken var att använda en påhittad DNS som jag knyter till ipnummret i hostfilen.
Jag har testat koden med ipnummer och då funkar det. Byter jag ut det mot antingen Datornamnet på SQL servern eller min påhittade DNS (t ex sqlserver.domännamn.se, fast utan ä) så blir det connection timeout.
Det fungerar att tex nå servern via mitt påhittade DNS namn i andra applikationer. Jag börjar misstänka att ODBC drivrutinerna inte resolvar mot hostfilen.
Det är på "objConn.Open" som det går fel såklart.
'Dessa parametrar sätts på annan plats i programmet, bara här för tydlighet.
'strSQLProvider = "{SQL Server}"
'strSQLDatabaseServer = "Här sätter jag ip datornamn eller påhittad dns"
strConn = "Driver=" & strSQLProvider & ";" & _
"UID=" & strSQLUserID & ";" & _
"Pwd=" & strSQLPwd & ";" & _
"Database=" & strSQLDatabase & ";" & _
"Server=" & strSQLDatabaseServer
On Error Resume Next
Err.Clear
Set objConn = CreateObject("ADODB.Connection")
If (Err.Number <> 0) Then
ReportEvent(RE_ERROR, "Could not Create ADODB.Connection Object")
Quit
End If
Err.Clear
objConn.ConnectionString = strConn
objConn.Open
If (Err.Number <> 0) Then
ReportEvent(RE_ERROR, "Could not connect to database.")
ReportEvent(RE_WARNING, "Connectionstring = " & strConn)
Quit
End If
