locked
Data storage for desktop applications RRS feed

  • Question

  • Hello everyone.
    I want to delpoy a desktop application. I dont know which database use for my application. Its such a small one and It is not good to use sql server.
    because the volume of sql server is much more than my application so , It isn't worth to install sql server for such a small application for user.
    on the other hand sql server compact is for device like mobile. in addition it is hard for me to use files actually.
    so which data base is suitable for deploying my application?
    Monday, March 30, 2009 7:17 PM

Answers

  • Sql Express is good for desktops.
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:17 AM
    Monday, March 30, 2009 7:21 PM
  • Or SQL Server Compact Edition. Ask in the SQL Sever forums for more options.
    MSMVP VC++
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:17 AM
    Monday, March 30, 2009 7:43 PM
  • If the application is so small and the foot print of SQL server is too large you could always use Microsoft Access.  There is no installation required as a local system driver would be used to connect to it.  Also, have you considered using something as simple as XML to store the data and then use LINQ to XML to query the data?  As this could live in your repository layer the application shouldn't be directly impacted.  You can also use XSD to generate your objects from the XML structure to get you almost to an ORM like state!
    Andrew Siemer www.andrewsiemer.com blog.andrewsiemer.com www.socialnetworkingin.net
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:17 AM
    Monday, March 30, 2009 8:03 PM
  • As Adnrew guided you can go for simple XML files,
    keep your data there as an XML file with considering
    correct syntax (http://www.w3schools.com/xml/default.asp )

    Then ADO.NET will help you to read the data by
    calling .ReadXml(...) method of a DataSet

                DataSet tmpDS = new DataSet();
                tmpDS.ReadXml("filename");
    

    Now you will have the data rows in auto generated
    DataTable(s).

    http://en.csharp-online.net/XML_and_ADO.NET
    http://msdn.microsoft.com/en-us/library/84sxtbxh(VS.71).aspx
    http://www.codeproject.com/KB/database/ADONET_and_XML.aspx

    Also you can find ideas about other database engines
    and how to connect to them in the following URL:

    http://www.connectionstrings.com/

    May be Access or VFP can be a good choice too, it depends.

    HTH


     
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:18 AM
    Monday, March 30, 2009 8:31 PM

All replies

  • Sql Express is good for desktops.
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:17 AM
    Monday, March 30, 2009 7:21 PM
  • Or SQL Server Compact Edition. Ask in the SQL Sever forums for more options.
    MSMVP VC++
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:17 AM
    Monday, March 30, 2009 7:43 PM
  • If the application is so small and the foot print of SQL server is too large you could always use Microsoft Access.  There is no installation required as a local system driver would be used to connect to it.  Also, have you considered using something as simple as XML to store the data and then use LINQ to XML to query the data?  As this could live in your repository layer the application shouldn't be directly impacted.  You can also use XSD to generate your objects from the XML structure to get you almost to an ORM like state!
    Andrew Siemer www.andrewsiemer.com blog.andrewsiemer.com www.socialnetworkingin.net
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:17 AM
    Monday, March 30, 2009 8:03 PM
  • As Adnrew guided you can go for simple XML files,
    keep your data there as an XML file with considering
    correct syntax (http://www.w3schools.com/xml/default.asp )

    Then ADO.NET will help you to read the data by
    calling .ReadXml(...) method of a DataSet

                DataSet tmpDS = new DataSet();
                tmpDS.ReadXml("filename");
    

    Now you will have the data rows in auto generated
    DataTable(s).

    http://en.csharp-online.net/XML_and_ADO.NET
    http://msdn.microsoft.com/en-us/library/84sxtbxh(VS.71).aspx
    http://www.codeproject.com/KB/database/ADONET_and_XML.aspx

    Also you can find ideas about other database engines
    and how to connect to them in the following URL:

    http://www.connectionstrings.com/

    May be Access or VFP can be a good choice too, it depends.

    HTH


     
    • Marked as answer by Guo Surfer Friday, April 3, 2009 6:18 AM
    Monday, March 30, 2009 8:31 PM
  • May be Access or VFP can be a good choice too, it depends.

    Not VFP though. It is on the way out. The support ends in 2014 and even at this stage it is bare.
    AlexB
    Tuesday, March 31, 2009 1:37 AM
  • Alex is correct about ending support of VFP by Microsoft but not about the date.

    With attention to original message:
    "Its such a small one and It is not good to use sql server. ... " and depend on the programmer
    VFP can be a good choice too, but let me repeat it again, it depends.

    Microsoft Support Lifecycle (Visual FoxPro 9.0 Professional Edition)
    http://support.microsoft.com/lifecycle/?LN=en-us&x=12&y=11&p1=7992

    Visual FoxPro 9.0 Professional Edition (12/22/2004)

    Mainstream Support Retired: 1/12/2010
    Extended Support Retired: 1/13/2015  

    VFP provides a high speed database engine, it's possible to distribute it just with a few .DLL s
    and it doesn't need lisence.

    If you decided to connect to VFP database table, you need to download
    Microsoft OLE DB Provider for Visual FoxPro 9.0 from
     http://www.microsoft.com/downloads/details.aspx?FamilyId=E1A87D8F-2D58-491F-A0FA-95A3289C5FD4&displaylang=en

    then you can take advantage of (ADO.NET):
    using System.Data.OleDb;

    in your C# program to connect to VFP data through OleDB connection string
    and the rest of story which you can find good samples and guide here:
    http://fox.wikis.com/wc.dll?Wiki~VFPOleDBProvider~VFP


    Let me add this link which is useful too, if you were looking for using VFP.

    How to: Access Visual FoxPro Data in Visual Studio
    http://msdn.microsoft.com/en-us/library/3haz2895(VS.80).aspx

    On the other hand, you can find tremendus amount of supports around VFP and or about VS and C# in:
    http://www.universalthread.com/

    HTH
    Tuesday, March 31, 2009 4:12 AM
  • VFP provides a high speed database engine

    This is very true, VFP cannot be beaten as far as the speed goes. It is about an order of magnitude faster than Sql Server.
    AlexB
    Tuesday, March 31, 2009 2:46 PM