C# oefening, geen toegang tot SQL-server

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Stefke
  • Registratie: December 2000
  • Laatst online: 15:04
Ik ben bezig met een C# cursus en moet daarvoor een simpele oefening doen (een repeater op een webpagina bouwen die een dataveld uit een database weergeeft).

Gebruikt: VS-10 pro, SQL-server 2008. Dit alles is geinstalleerd onder mijn windowsgebruikersnaam (Stefijn), en in de SQL-server is die gebruikersnaam ook sysadmin.

Als ik echter de volgende connectie-string gebruik

code:
1
objDb = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=testdatabase;Integrated Security=SSPI;");


Krijg ik de melding dat de

code:
1
$exception  {"Cannot open database \"testdatabase\" requested by the login. The login failed.\r\nLogin failed for user 'DESKTOP\\Stefijn'."}    System.Exception {System.Data.SqlClient.SqlException}


Ik krijg niet gevonden waarom dit niet werkt; ik kan vanuit VS10 probleemloos met de Server Explorer een verbinding maken (waarbij ik ook van integrated Security gebruik maak) en de tabellen browsen. Ook kan ik SQL-managementstudio openen met gebruik van IS

Ook de voorbeeldpagina van de docent die linked naar Northwind geeft dezelfde fout. De Northwind-db draait op de SQL-server

[ Voor 5% gewijzigd door Stefke op 24-09-2012 21:03 ]


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 10-07 11:07

Haan

dotnetter

Je gebruikt toch geen SQL express? Als je vanuit de server explorer wel kan connecten, kan je in de properties ook ergens de connection string zien (geen VS bij de hand, dus kan niet preciezer zijn waar precies)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Stefke
  • Registratie: December 2000
  • Laatst online: 15:04
SLQ server 2008 gebruik ik, zonder epxress toevoeging. Met alle versies weet ik het niet precies, het zou een expressversie kunnen zijn (het is iig de gratis versie)

De dataconnectie vanuit de Server Explorer heeft deze string:
Data Source=DESKTOP;Initial Catalog=testdatabase;Integrated Security=True

edit: duh..nu begrijp ik je opmerking beter (ik dacht dat je de versie bedoeld, niet de naam?). Mijn SQL-server heet geen SQLexpress maar DESKTOP! |:( Wel een verwarrende melding dan (waarom krijg ik niet "server niet gevonden") maar goed

[ Voor 57% gewijzigd door Stefke op 24-09-2012 21:28 ]


Acties:
  • 0 Henk 'm!

  • evolution536
  • Registratie: Maart 2009
  • Laatst online: 05-06-2024

evolution536

besh besh

In je code staat "Data Source=.\\SQLEXPRESS". Het lijkt me dus duidelijk dat je de express versie van SQL server gebruikt.

Gebruik je in de Management Studio ook Windows Authentication? Wellicht moet je proberen in te loggen met het sa account. Als je in de setup niet goed opgelet hebt kan het zijn dat er een aantal gegevens niet kloppen.

Acties:
  • 0 Henk 'm!

  • Stefke
  • Registratie: December 2000
  • Laatst online: 15:04
Ja klopt, ik was even confused. De server op de opleiding heeft SQLexpress, de mijne heb ik anders genoemd. Dat moet ik misschien even veranderen want dit is niet zo handig.

Acties:
  • 0 Henk 'm!

  • BM
  • Registratie: September 2001
  • Laatst online: 22:46

BM

Moderator Spielerij
stefijn schreef op maandag 24 september 2012 @ 21:29:
Ja klopt, ik was even confused. De server op de opleiding heeft SQLexpress, de mijne heb ik anders genoemd. Dat moet ik misschien even veranderen want dit is niet zo handig.
Let er dan wel op dat je dezelfde versies gebruikt. De installatie op je opleiding heet niet voor niks SQLExpress, dat is een andere versie dan 'gewoon' SQL Server 2008 die jij lijkt te gebruiken. Hoewel een hoop vast overeen zal komen kunnen er verschillen in zitten :)

Edit: zie nu eigenlijk dat de spannendste verschillen vooral zitten in het gebruik van resources (max 1 CPU, max 1 GB ram). Dat zal voor nu dus geen problemen opleveren vermoed ik :)
Haan schreef op dinsdag 25 september 2012 @ 08:20:
Kijk anders eens op http://connectionstrings.com/ , daarmee moet je er eigenlijk wel uit kunnen komen.
Topsite, heeft me al regelmatig geholpen :)

[ Voor 28% gewijzigd door BM op 25-09-2012 08:40 ]

Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 10-07 11:07

Haan

dotnetter

Kijk anders eens op http://connectionstrings.com/ , daarmee moet je er eigenlijk wel uit kunnen komen.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Stefke
  • Registratie: December 2000
  • Laatst online: 15:04
Ja, die link heb ik zojuist op de cursus ook gekregen :) bedankt

Welke versie SQL-server ik precies heb weet ik niet; "een" gratis versie van SQL 2008, dat is (omdat ie gratis is) toch SQLexpress dan?
Op de cursus is ook SQL-server 2008 R2 geinstalleerd (die heb ik ook thuis)

[ Voor 15% gewijzigd door Stefke op 25-09-2012 13:04 ]


Acties:
  • 0 Henk 'm!

  • Stefke
  • Registratie: December 2000
  • Laatst online: 15:04
Toch nog een vraagje, want ik begrijp t niet meer: ik heb zojuist geprobeerd om de server naar SQLexpress om te noemen (met een paar SQL-commands) maar dat leek niet het juiste resultaat te geven.
Dus heb ik alles gedeinstalleerd en een nieuwe install gedaan (64bit).

Bij de installatie werd gevraagd om de instance een naam te geven, default SQLexpress. Dat heb ik laten staan (en de vorige keer ook volgens mij). Vervolgens heet de server volgens de Man. Studio wederom DESKTOP.

Alleen kom ik er nu helemaal niet op (ook niet met Man. Studio, maar hij komt zelf met DESKTOP als enige SQL-server om mee te connecten), er zullen wel default settings niet goed staan of zo (edit: of het komt omdat ik nu een64bits versie heb geinstalleerd??)

De vraag is:

Waarom werkt de connectiestring ".\\SQLexpress" wel op de cursus-PC, en moet ik op mijn PC "DESKTOP" gebruiken, dus zonder ".\\"?

Mijn instance heet gewoon SQLexpress, want dat was ingegeven bij installatie, ik vond het al zo vreemd dat ik DESKTOP moest opgeven (gisteren), want ik had dat helemaal niet ingevoerd bij de installatie. Mijn serverheet blijkbaar DESKTOP. Ik heb niet meer kunnen nakijken wat de servernaam op de cursus-PC is....


edit: ben nu weer 32bit versie aan het installeren

[ Voor 22% gewijzigd door Stefke op 25-09-2012 22:51 ]


  • D-Raven
  • Registratie: November 2001
  • Laatst online: 07-07 14:42
sql express named instances kun je op je localhost benaderen via .\SQLexpress (die dubbele \ die jij gebruikt is voor string escape doeleinden). Dit is niks meer dan een shorthand voor computernaam\instancenaam.

Zo draait er op mijn pc ook een sqlexpress, deze kan ik lokaal benaderen via .\SQLexpress of DTASK\SQLexpress.

Maar als jij sql helemaal ge-deinstalleerd hebt, en je installeert daarna een nieuwe sqlexpress dan zal die standaard een named instance genaamd sqlexpress aanmaken. Dus als jij tijdens installatie die naam niet aangepast hebt. dan zou het moeten werken.

Als je een 64bit os hebt, maakt het geen zak uit of je een 64bit of 32bit sql server installeert. Dat zou gewoon moeten werken.
Weet je zeker dat je wel je sql server goed geconfigureerd hebt? dus mixed mode login aan? (windows auth, zowel als sql login mogelijk), en remote tcp/ip connectie (indien je remote connecties toe wilt staan).

  • edeboeck
  • Registratie: Maart 2005
  • Laatst online: 02-06 18:46

edeboeck

mie noow noooothing ...

Stefijn,
als je naar een SQL-server connecteert, moet je het als volgt doen:
<server-naam>\<sql-server-instantie>
m.a.w. je SQL Server instantie draait steeds op een (meestal Windows-)machine.

Als je connecteert naar je lokale machine (=het toestel waarop je aan het ontwikkelen bent), mag je de naam (bv PC-Stefijn) vervangen door "."

  • sig69
  • Registratie: Mei 2002
  • Nu online
Ik snap niet wat het probleem is om op cursus en thuis even je connectiosntring aan te passen?

Roomba E5 te koop


  • Stefke
  • Registratie: December 2000
  • Laatst online: 15:04
Omdat C# al lastig genoeg is zonder dat ik me om een SQL-server moet bekommeren (daarbij zijn het een heleboel voorbeeldprojectjes dus dat kost me gewoon tijd, de cursus is al intensief genoeg)

Anyway...32bit versie opnieuw lokaal geinstalleerd, wederom met de default setting SQLEXPRESS (maar ws. servername DESKTOP) maar net als gisteren in de 64bit versie kan ik met de Man. studio geen verbinding maken.
Met de Conf. manager zie ik

SQL Server (SQLEXPRESS): running
SQL Server Agent (SQLEXPRESS): stopped
SQL Server Browser: stopped

De onderste 2 kan ik niet starten. Ik weet ook niet of dat nodig is.

Bij de eerste installatie had ik dit probleem niet, en net als toen heb ik alles op default settings gelaten. Iemand een tip?

edit: o, nu moet ik ineens DESKTOP\SQLEXPRESS ingeven bij de server. Dat hoefde ik bij de eerste installatie niet aan te passen. Verwarrend allemaal (maar achteraf natuurlijk verklaarbaar), wellicht nog een restantje van de eerste installatie?
.\SQLserver werkt nu ook (bij Man. studio iig)

edit2: volgens mij had ik met VS10-pro ook al een (of andere) SQL-serverversie meegeinstalleerd gekregen (had nl. 2 mappen in startmenu), wellicht dat ik daardoor dingen door elkaar heb gehaald. Nu heb ik er nog maar één, nl. SQLserver 2008 R2 32bit.
NB. die dubbele installatie staat ook op de cursus-PC

Bedankt voor het meedenken allemaal, weer wat kennis opgedaan :)

[ Voor 38% gewijzigd door Stefke op 26-09-2012 14:10 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
stefijn schreef op woensdag 26 september 2012 @ 13:22:
edit: o, nu moet ik ineens DESKTOP\SQLEXPRESS ingeven bij de server. Dat hoefde ik bij de eerste installatie niet aan te passen. Verwarrend allemaal (maar achteraf natuurlijk verklaarbaar), wellicht nog een restantje van de eerste installatie?
.\SQLserver werkt nu ook (bij Man. studio iig)
Dat komt omdat het om een zogenaamde "Named Instance" gaat ;)

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1