Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[C#] Verbinding maken SQL compact database

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een Visual Studio 2008 project waaraan een Local Database is toegevoegd (SQL compact database 3.5 - zit standaard bij de express editie).

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

            SqlConnection con = new SqlConnection();
            con.ConnectionString = @"Data Source=|DataDirectory|\Database1.sdf";            

            con.Open();
//...
            con.Close();

        }
    }


Op de connection open statement krijg ik echter de volgende error:

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Via Google kwam ik op deze link, maar volgens mij is dat niet relevant aangezien er geen database server hoeft te draaien voor een locale database (?). Waarom wordt de database niet gevonden?

http://forums.microsoft.c...px?PostID=358370&SiteID=1

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Waarschijnlijk is je connection string gewoon niet juist. Die foutmelding is enorm afleidend.

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Ik heb verschillende connectionstrings geprobeerd. Bijvoorbeeld zoals hier aangegeven.
http://www.connectionstrings.com/?carrier=sqlserver2005ce
con.ConnectionString = @"Data Source=|DataDirectory|\Database1.sdf;Persist Security Info=False";
In het geval dat de IDE een app.config bestand genereert, wordt de volgende connection string in dat bestand weergegeven. De IDE is geeft dus ook aan dat dit de juiste connection string moet zijn.

connectionString="Data Source=|DataDirectory|\Database1.sdf"

Nog even voor de duidelijkheid, ik heb enkel Microsoft SQL Server Compact 3.5 ENU geinstalleerd. Geen andere versie van SQL server, dit is toch voldoende?

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Waarom staan er pipe characters in die connection string? IDE's kunnen rustig een verkeerde string genereren, of eentje waarin je nog een deel moet vervangen door de namen die voor jou van toepassing zijn. 'DataDirectory' en 'Database1' klinkt wel erg generiek; heten de relevante properties echt zo?

Wie trösten wir uns, die Mörder aller Mörder?


Verwijderd

Topicstarter
Het DataDirectory gedeelte heb ik hier vandaan. Met de volgende note: An introduction to SQL Server 2005 Compact Edition
If you do not set the DataDirectory property, the following default rules are applied to access the database folder:• For applications that are put in a folder on the user's computer, the database folder uses the application folder.
In het geval dat ik het full path specificeer krijg ik dezelfde error als eerst.

Database1.sdf is de naam van het database bestand dat ik heb aangemaakt.

  • Spiral
  • Registratie: December 2005
  • Niet online
Vooropgesteld dat ik weet niet als het uitmaakt.

Ze maken wel gebruik van een andere klasse namelijk: System.Data.Sqlserverce.SqlCeConnection i.p.v. SqlConnection

zie ook deze link: MSDN SqlCeConnection

In dit forum wordt er ook nog eens over gesproken.Connect to mobile SQL database from Desktop PC

[ Voor 21% gewijzigd door Spiral op 26-11-2007 13:42 . Reden: Toevoegen link ]

To say of what is that it is not, or of what is not that it is, is false, while to say of what is that it is, and of what is not that it is not, is true. | Aristoteles


  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 31-10 11:58
Bouw je een webapp of een forms? Lijkt me dat |DataDirectory| in elk geval alleen voor webapps werkt?

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Verwijderd

Topicstarter
Spiral schreef op maandag 26 november 2007 @ 13:35:
Vooropgesteld dat ik weet niet als het uitmaakt.

Ze maken wel gebruik van een andere klasse namelijk: System.Data.Sqlserverce.SqlCeConnection i.p.v. SqlConnection

zie ook deze link: MSDN SqlCeConnection

In dit forum wordt er ook nog eens over gesproken.Connect to mobile SQL database from Desktop PC
Bedankt, ik had het verkeerde SqlConnection object. :)
Pagina: 1