Toon posts:

[ASP.Net] Connectie naar SQL server vanaf client mislukt *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een connectie te maken naar een sql database vanaf mijn client waarop ik de asp pagina schrijf.
Als ik wil connecten krijg ik de volgende melding:

code:
1
2
3
4
SQL Server does not exist or access denied. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: SQL Server does not exist or access denied.


Als ik een sqlConnection maak via de wizard en dant test connection doen werkt het prima, maar als ik dan de pagina test locaal dan krijg ik die error.

De code is wel goed, want als ik de pagina kopieer naar de IIS webserver (Server 2003) dan werkt het allemaal prima. Dus hier kan het niet aan liggen.

Het lijkt iets te maken te hebben met toegang en permissions .....

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 16-08 19:14

Eelke Spaak

- Vlad -

Misschien accepteert de SQL Server van je hosting provider alleen connecties vanaf de webservers van diezelfde provider?

TheStreme - Share anything with anyone


  • Wiggert
  • Registratie: December 2000
  • Laatst online: 25-08 18:34
zoals Eelke Spaak ook zegt: het zou mij niets verbazen als je hosting provider je geen directe toegang tot zijn MSSQL server geeft. Kan je wel connecten met bijvoorbeeld ODBC met je client? of, als je dat hebt, enterprise manager?

Wat gebeurt er als je naar de poort telnet?

Verwijderd

Topicstarter
Voor de duidelijkheid, ik run me eigen Windows 2003 server met MS SQL .... En ik geef mezelf (en dat is dus de vraag) genoeg rechten hiervoor ...... :P

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 16-08 19:14

Eelke Spaak

- Vlad -

Ah kijk eens aan :) . Kan je eens de code posten die je gebruikt om verbinding te maken? Graag ook de waarden e.d. van eventuele variabelen erbij zetten.

TheStreme - Share anything with anyone


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Het lijkt me sterk dat dit ASP is; eerder ASP.Net :) Verder idd; hoe connect je?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ASP.NET Visual Basic:
1
2
3
string myConnStr = "Data Source=servername;Database=test;User ID=ASPNET;Pwd=*****;timeout=30";
SqlConnection mySC = new SqlConnection(myConnStr);
mySC.Open();

bij de mySC.Open() krijg ik de melding.
En zoals ik al eerder melde, als ik de pagina vanaf mijn server run is er niets aan de hand, maar als ik hem op mijn XP machientje open dan krijg ik de error. Het lijkt erop dat de ASPNET account niet mag inloggen op de SQL server vanaf die andere PC ...... :?

En user ASPNET kan normaal inloggen op de SQL server want die gebruik is standaard ..

[ Voor 10% gewijzigd door Verwijderd op 26-09-2004 22:56 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Het lijkt erop dat de ASPNET account niet mag inloggen op de SQL server vanaf die andere PC ......
Klopt, die moet je ook handmatig toevoegen :) En aangezien het geen codeprobleem is, maar het probleem ligt bij het toevoegen van een user account bij SQL Server c.q. een rechtenprobleem met SQL Server, krijgt dit topic een schop naar Software Algemeen :)

>> Software Algemeen

[ Voor 40% gewijzigd door gorgi_19 op 26-09-2004 22:57 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Een ASPNet account van Computer A heeft geen toegang tot computer B, ook al heeft die een ASPNet account.

Anders uitgelegd: ComputerA\ASPNet heeft geen toegang op Computer B, ondanks dat ComputerB\ASPNet wel bestaat en de rechten heeft :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ja, dat idee had ik dus ook, maar als ik dus in VS een sqlconnection aanmaak met de wizard, en ASPNET gebruik en de connectie test in de wizard dan werkt hij prima. Waarom werkt dat dan wel.

[ Voor 9% gewijzigd door Verwijderd op 26-09-2004 23:04 ]


  • Wiggert
  • Registratie: December 2000
  • Laatst online: 25-08 18:34
En als je nou een user op de database aanmaakt (en geen windowsuser)?

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:36
Waarom specifieer je die user (ASPNET) in je connection-string en maak je geen gebruik van de integrated security? Die account zal dan ook wel gebruikt worden, maar je hoeft dan geen passwoorden en usernames te gaan bewaren.
Zo dus:
code:
1
Data Source=servername;Initial Catalog=database;Integrated Security=SSPI;

https://fgheysels.github.io/


Verwijderd

Topicstarter
Omdat ik die connection string ook al geprobeerd heb, en die werkt ook niet.

En nogmaals
Verwijderd schreef op 26 september 2004 @ 23:03:
Ja, dat idee had ik dus ook, maar als ik dus in VS een sqlconnection aanmaak met de wizard, en ASPNET gebruik en de connectie test in de wizard dan werkt hij prima. Waarom werkt dat dan wel.
Dus het komt erop neer dat als ik mijn website browse ik niet kan connection met die gegevens.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:14

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 27 september 2004 @ 09:01:
Omdat ik die connection string ook al geprobeerd heb, en die werkt ook niet.

En nogmaals
Dus het komt erop neer dat als ik mijn website browse ik niet kan connection met die gegevens.
Zou me niets verbazen als er dan ook meegeprobeerd wordt met een andere user; aangezien VS.Net voor debuggen ook Integrated Security vereist op een website.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 16-08 19:14

Eelke Spaak

- Vlad -

Gebruik gewoon SQL security, dus maak een database user aan in je Enterprise Manager en gebruik deze username + bijbehorend password in je connection string. Kan bijna niet meer misgaan!

TheStreme - Share anything with anyone


  • lier
  • Registratie: Januari 2004
  • Laatst online: 17:01

lier

MikroTik nerd

Wiggert schreef op 26 september 2004 @ 23:22:
En als je nou een user op de database aanmaakt (en geen windowsuser)?
Zoals Wiggert zegt, heb je de user al op de DQL server aangemaakt ?
Welke vormen van authenticatie worden ondersteund in jouw setup ?
Op welke manier ga je naar je database (maak eens gebruik van de profiler..) ?

Eerst het probleem, dan de oplossing


Verwijderd

Topicstarter
Okee mijn setup :)

Server:
Windows Server 2003 (DNS naam "WEBSERVER") met:
- SQL 2000
- Exhange 2003
- DNS
- En de rest van de zooi ......

Werk PC (DNS naam "ATHLONXP2600").

Connection string:
ASP:
1
2
3
string myConnStr = "Data Source=webserver;Database=test;User ID=ASPNET;Pwd=*****;timeout=30";
SqlConnection mySC = new SqlConnection(myConnStr);
mySC.Open();


Connectie gebeurd via "SQL server + Windows".
Ik heb de user uiteraard aangemaakt, en het werkt prima als ik de pagina vanaf mijn server draai. Dan kan hij gewoon connecten ...... Ik hoop dat dat duidelijk is.

Het werkt alleen niet op mijn XP machine, dus het lijkt erop dat de SQL server van mijn webserver geen ASPNET account accepteerd vanaf remote computers .....

Ik hoop dat het nu iets duidelijker is, maar ik moet zeggen ik begrijp er ook niet veel van .... 8)7

PS: Profiler, ik zal er eens naar kijken. Nooit gebruikt en weet ook niet wat het is, maar kom er denk wel uit.

edit:

Profiler, duidelijk :)

[ Voor 5% gewijzigd door Verwijderd op 27-09-2004 11:11 . Reden: Profiler bekeken ]


Verwijderd

Is het wachtwoord van het ASP.NET account niet anders op je XP machine dan op Win2k3 machine? (Ja, als je gebruikt maakt van standard account van asp.net)

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 19:27
Heb je al geprobeerd even een andere gebruiker te maken?
code:
1
Data Source=webserver;Database=test;User ID=testuser;Pwd=testpassword;timeout=30
, die gebruiker aanmaken en toegang geven tot de database?
Gebruik je nu eigenlijk de windows ASPNET user of heb je op de sqlserver een sql server user met de naam aspnet gemaakt?

Roomba E5 te koop


Verwijderd

Topicstarter
sig69 schreef op 27 september 2004 @ 11:18:
Heb je al geprobeerd even een andere gebruiker te maken?
code:
1
Data Source=webserver;Database=test;User ID=testuser;Pwd=testpassword;timeout=30
, die gebruiker aanmaken en toegang geven tot de database?
Gebruik je nu eigenlijk de windows ASPNET user of heb je op de sqlserver een sql server user met de naam aspnet gemaakt?
Ik heb ASPNET user aangemaakt in SQL. En ik heb ook andere namen geprobeerd ja, waaronder sa ....
Daarnaast heb ik ook een keer Trusted Connection ofzo gebruikt en werkt ook niet ..... >:) Zucht .....
Ik had hiervoor windows 2000 server draaien en toen had ik (gelukkig) nergens last van. Ik weet dat in Win2K3 de security beter is, maar af en toe .....

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 19:27
Als je in de enterprise manager de properties van je sql server registration verandert om ook die ASPNET user te gebruiken, kan je er via enterprise manager dan wel in? Zo niet, dan heeft de gebruiker gewoon geen toegang.

Roomba E5 te koop


Verwijderd

Topicstarter
Ik heb op alle mogelijke manieren toegang tot mijn sql server, bahalve via web requests.
Zelf als ik in VS een connection aanmaak via de wizard, en de gegevens gebruik uit de connection string, krijg ik netjes een connectie en kan ik ook nog de database gebruiken. Als ik dan die aangemaakt connection gebruik in mijn asp.net pagina krijg ik ook een error, terwijl hij vanuit de wizard geen problemen heeft ..... 8)7 8)7 .
Het is puur web related. Misschien een firewall issue, of moet ik in SQL server nog aangeven dat hij remote webconnections accepteerd ??? Ik weet het niet.

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
• Stap 1 De ASPNET user van de IIS machine rechten geven op de database. Voluit "DOMAINNAME\USERNAME" gebruiken.
• Stap 2 De connectiestring uit [rml]whoami in "[ ASP.Net] Connectie naar SQL server vana..."[/rml] gebruiken
• Stap 3 Verbinding maken

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

in win2k3 gebruik asp.net de network services en niet meer asp.net account, misschien dat daar je probleem ligt

Verwijderd

Topicstarter
Okee, iedereen bedankt voor zijn commentaar en oplossingen.
Uiteindelijk ben ik er achter gekomen, na veel zoeken op internet.

_/-\o_ http://www.kbalertz.com/kb_Q306199.aspx _/-\o_

Ik had niet de laatste Service Pack voor SQL server en MDAC update.
Hierna werkte het prima. :*) :*) :*)
Pagina: 1