Doorgaan naar hoofdcontent

ASP.Net WebParts en SQL Server

Tijdens het experimenteren met ASP.Net 2.0 WebParts liep ik tegen onderstaande foutmelding aan:

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

De oorzaak hiervan is dat ASP.Net een Sql Server Express instantie genaamd aspnetdb.msf wil aanmaken binnen de App_Data map van de betreffende website. Het enige probleem is dat op mijn machine geen SQL Server Express is geinstalleerd maar SQL Server 2008 Developer Edition. De betreffende actie mislukt dus met als gevolg de eerder genoemde foutmelding.

De oplossing voor het probleem is het laten aanmaken van de betreffende database in SQL Server en een web.config aanpassing van de betreffende web applicatie. Microsoft heeft hier bij het .NET Framework een tool voor meegeleverd genaamd ASP.NET SQL Server Registration Tool (Aspnet_regsql.exe). Het betreffende bestand staat in de map "[drive:]\%windir%\Microsoft.NET\Framework\v2.0.50727".

Als je het bestand start zonder aanvullende parameters dan wordt er automatisch een wizard gestart.

image

De wizard kan gebruikt worden voor het toevoegen en verwijderen van benodigde services.

image

De wizard dient uitgevoerd te worden met een account dat voldoende rechten heeft op SQL Server om de database aan te maken of te verwijderen.

image

We kunnen in het overzichtscherm zien dat er een database wordt aangemaakt met als naam "aspnetdb".

image

Even later is de database aangemaakt met daarin de ondersteuning voor alle ASP.net application services.

image

Indien je maar een enkele application services (Membership, Role Manager, Profile, Web Parts Personalization en/of Web Events) nodig hebt dan kan je beter de command line parameters gebruiken. Zie het "ASP.NET SQL Server Registration Tool" artikel van MSDN voor meer informatie hierover.

Nu de database is aangemaakt dien ik de betreffende web applicatie nog dusdanig te configureren dat deze gebruik gaat maken van de SQL Server versie van de database. Dit doen we door in het connectionSettings gedeelte een aanpassing door te voeren. Als eerste dienen we de bestaande verwijzing naar het gebruik van SQL Server Express (de lokale mdf) te overrulen. Dit doen we door een remove statement toe te voegen. Daarna brengen we een regel aan voor de aanroep naar de betreffende SQL Server instantie waar de aspnetdb database draait. De aanpassingen zijn als volgt:

<connectionStrings>
<!--
ASP.net application services laten verwijzen naar de centrale
SQL Server instantie i.p.v. een lokale SQL Server Express
database.
-->
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

Na het aanbrengen van deze wijzigingen treed de fout die ik eerst zag niet meer op en kan ik verder gaan met mijn expirementen.

Reacties

Populaire posts van deze blog

Active Directory limieten

Zoals ieder systeem heeft Active Directory ook zijn limieten. Tijdens wat Active Directory research kwam ik het volgende Technet artikel tegen waarin deze worden benoemd: Active Directory Maximum Limits . Kort samengevat zijn de limieten: Maximum aantal objecten per domain controller in een forest : ongeveer 2,5 biljoen (gedurende de volledige levensduur). Maximum aantal security identifiers (SID's) per domein : ongeveer 1 biljoen (gedurende de volledige levensduur). Aantal groepen waarvan een security indentifier (persoon, groep, computer account) lid kan zijn : ongeveer 1.015 groepen. FQDN lengte limiet : maximum lengte is 64 tekens (dit is inclusief punten en mintekens) voor de fully qualified domain name (FQDN). Bestandsnaam limiet : Windows kent een pad lengte limiet van 260 tekens. Deze is ook van toepassing op de fysieke bestanden van AD zoals SYSVOL. Organisational unit limiet : maximum lengte is 64 tekens. Heeft te maken met de Windows limiet van 260 tekens die in de gaten

Winsxs folder neemt veel ruimte in

In Windows Millenium is de Winsxs folder geintroduceerd. Deze folder bevat meerdere versies van in gebruik zijnde DLL bestanden. Het doel hiervan is dat iedere programma de juiste versie van de benodigde DLL kan gebruiken. Dit principe staat ook wel bekend als "Windows Side by Side". De folder die hiervoor gebruikt wordt is dus "C:\Windows\winsxs" en deze folder vormt dus de native assembly cache. In een tijd dat het vrij normaal is dat een computer is voorzien van een 500 GB harde schijf is de overhead van meerdere versies van een bestand opslaan niet echt een probleem. Echter in mijn geval wel. Op een van mijn multi boot computers heb ik een Vista Ultimate (met daarop Vista, MS Office en enkele andere programa's) van 32 GB. Mijn (persoonlijke) data staat op een aparte partitie. Door de installatie van de vele Windows updates is de vrije ruimte op deze partitie gezakt tot 2,85 GB (en dus in de rode waarschuwingszone terecht gekomen). Van de 32 GB is meer dan

Bevindingen over de E-tech ADWG02 tot nu toe

Ik heb de E-tech ADWG02 nu bijna een week in gebruik. Dit is de vervangende modem voor de buggy Linksys WAG54G die ik eerder gekocht had. Mijn bevindingen over de E-tech tot nu toe: Geen crashes tot nu toe. De firmware lijkt op dat punt stabiel. Het apparaat is niet door middel van een knop aan of uit te zetten. Erg vervelend omdat ik het apparaat alleen uit kan zetten door de stekker uit het stopcontact te halen. De reden dat ik hem graag uit wil kunnen zetten is dat het apparaat in de woonkamer staat (in het zicht) en de lampjes nogal fel schijnen. Dat vind ik niet erg prettig. Daarnaast wil ik niet dat de verbinding de gehele dag open staat uit beveiligingsoverwegingen en vanwege het stroomverbruik. WIFI is middels een setting uit te zetten. Als je de setting uitvinkt en bevestigd door middel van een 'apply' zie je het lampje uitgaan op de ADSL modem. Er is op dat moment ook geen WIFI verbinding actief. Sla je de setting definitief op dan reboot de modem automat