[C# en VS.NET 2008] Database access probleem.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Topicstarter
Hi,

Ik heb hier Visual Studio 2008 SP1, met een .NET 3.5 Projectje en ik probeer een sdf (SQL Server Compact Database) te benaderen via een edmx (ADO.NET entity framework).

Ik kan een model aanmaken, de database openen, mijn tabellen importeren.

Dan heb ik hetvolgende stukje code:

C#:
1
2
3
4
5
6
7
8
9
            Database1Entities context = new Database1Entities();

            var people = from person in context.PeopleSet
                         select person;

            foreach (var person in people)
            {
                Console.WriteLine("{0} {1}", person.FirstName, person.Name);
            }

(PeopleSet heb ik zelf zo genoemd, dit doe ik ook als ik verbind op een 'gewone' database, en dat werkt).

Als ik dan compileer en run klapt hij eruit op de constructor van Database1Entities(), met de volgende error:
Afbeeldingslocatie: http://tweakers.net/ext/f/5scga4pfKLJirRiuouEIybvl/thumb.png
Nu heb ik zitten te zoeken hierop, en kwam ik uit bij het feit dat de connectionString wel eens fout kan zijn.

Maar deze is bij mij correct.

Ik heb ook deze site doorgenomen, en die stappen uitgevoerd, maar helaas heeft dat het probleem ook niet verholpen.

Misschien weet iemand hier iets.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Je configuratie (lees de foutmelding) is niet correct.

Nog even een linkje met tools gevonden: http://www.scip.be/index.php?Page=ArticlesNET13

[ Voor 45% gewijzigd door Niemand_Anders op 08-12-2008 13:48 ]

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Topicstarter
Niemand_Anders schreef op maandag 08 december 2008 @ 13:43:
Je configuratie (lees de foutmelding) is niet correct.
Maar er is niets aan veranderd! Dat is het probleem juist, het is puur gegenereerde code.

Als ik hetzelfde princiepe toepas op een mdf werkt het wel.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Verschil tussen development en productie omgeving?

Er wordt aangegeven dat het entity framework niet weet dat de provider 'System.Data.SqlClient' moet zijn. Dit wordt allemaal geregeld in de connection strings config in je app|web.config.

Er is dus wel iets veranderd, want anders zou je de melding niet krijgen. En anders kun je nog altijd een SqlConnection instance meegeven aan de constructor van je context..

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Topicstarter
Niemand_Anders schreef op maandag 08 december 2008 @ 13:51:
Verschil tussen development en productie omgeving?

Er wordt aangegeven dat het entity framework niet weet dat de provider 'System.Data.SqlClient' moet zijn. Dit wordt allemaal geregeld in de connection strings config in je app|web.config.
Dit is puur development omgeving.

En als ik mijn connectionString ophaal met ConnectionManager.AppSettings... (ofzoiets) werkt het evengoed niet. Zelfde error dan.

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • TheNameless
  • Registratie: September 2001
  • Laatst online: 07-02 21:38

TheNameless

Jazzballet is vet!

Misschien een probleem met je references?

Heb voor de rest geen verstand van SDF, maar heb je mischien niet een extra assembly nodig?

Ducati: making mechanics out of riders since 1946


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Topicstarter
TheNameless schreef op maandag 08 december 2008 @ 14:12:
Misschien een probleem met je references?

Heb voor de rest geen verstand van SDF, maar heb je mischien niet een extra assembly nodig?
Lijkt me toch heel gek, want ik vind niets over deze error expliciet op het web.

Even (uurtje :P ) Visual Studio herinstalleren. Jammer dat je SP1 niet kan slipstreamen.

[ Voor 12% gewijzigd door Snake op 08-12-2008 14:19 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Heb je eSqlBlast (zie link in mijn eerste reactie) al eens geprobeert? Een zeer handige tool voor een framework welke voor zover ik weet nog niet als final is opgeleverd. Post anders even je connectionstring sectie uit de web|app.config..

Je mist geen reference omdat je dan nog nieteens het project zou kunnen builden. Het is puur een configuratie issue.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • rickjehh
  • Registratie: Februari 2008
  • Laatst online: 25-09 14:56
Lijkt me dat er ergens een foutje in je ConnectionString staat of een verkeerde verwijzing misschien typfoutje o.i.d.?. Je mist zeker geen reference, dan kan je je project niet eens builden dus daar ligt het zeker niet aan.

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Topicstarter
Ik zal je tooltje dadelijk proberen, nu is SP1 aan het installeren.

Dit is mijn connectiestring:
XML:
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="Database1Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|\Database1.sdf&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>


Eer zijn websites die de provider aanpassen, maar mijne is al de nieuwe versie (er waren issues met de beta van SP1).

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Depress
  • Registratie: Mei 2005
  • Laatst online: 22-09 21:34
Dit heeft dus eerst wel gewerkt?
Ja:
* Eventueel is een provider(OLE oid) gesneuveld.

Nee:
Dat edmx is een extentie dat gebruikt maakt van linq? Want het lijkt er sterk op dat je linq code probeerdt te gebruiken en als je die niet eerst goed configureert kan het er inderdaad niet werken.

Acties:
  • 0 Henk 'm!

  • TheNameless
  • Registratie: September 2001
  • Laatst online: 07-02 21:38

TheNameless

Jazzballet is vet!


Offtopic:
Een missende reference hoeft absoluut niet altijd te betekenen dat je dat niet kan builden.

Probeer voor de grap maar eens in een NHibernate project SQLite te gebruiken. Zonder die reference valt er absoluut te builden. Pas in runtime wordt er een exception gegooid

Ducati: making mechanics out of riders since 1946


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Topicstarter
Depress schreef op maandag 08 december 2008 @ 16:42:
Dit heeft dus eerst wel gewerkt?
Neen het heeft nooit gewerkt met een Compact Database. Met een gewone database dus wel, direct.

Ik heb net m'n SQL server compact geherinstalleerd, Visual Studio zelf kan 'm openen, maar het projectje faalt nog steeds...

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Topicstarter
Ok nu ga ik vloeken.

Ik heb het opgelost. Blijkt dat als ik het project compileer op 32-bit dat het perfect werkt, omdat mijn database 32-bit is. Verdikke, zoveel miserie op niets.

Iig thank you all voor jullie hulp.

Snoepjes for all! *O*

Going for adventure, lots of sun and a convertible! | GMT-8

Pagina: 1