Tworzenie pliku instalacyjnego a baza danych

0

Witam. Mam pytanie i problem a mianowicie zrobiłem projekt na zaliczenie, który korzysta z bazy danych MS SQL Server 2008. Jednak program mogę odpalić tylko na moim komputerze gdzie jest zainstalowany server i stworzona jest konkretna baza. Da się jakoś eksportować (nie wiem nawet jak to nazwać) bazę danych żeby działała na każdym komputerze bez konieczności posiadania MS SQL server i konkretnej bazy danych?

1

jest kilka rozwiązań...

  1. Zrobić eksport z bazy i zaimportować ją do SQL server'a na komputerze docelowym (ta opcja jednak ci nie odpowiada)
  2. Postawić bazę na jakimś zewnętrznym serwerze a twoja aplikacja by się do niej łączyła zdalnie - proste do zrobienia, ale z serwerem może być problem
  3. Spróbować przenieść bazę do np. Microsoft SQL Server Compact - bazę tą dystrybuuje się z programem, nie zajmuje dużo miejsca, ale nie mam pojęcia czy w prosty sposób uda ci się to przenieść (nigdy nie próbowałem), no i program musiałby być przebudowany tak aby od teraz korzystał z tej bazy. http://erikej.blogspot.com/2010/02/how-to-use-exportsqlce-to-migrate-from.html tu jest info
0

Przepraszam, że dopiero teraz pisze ale dopiero teraz się za to ponownie wziąłem. A więc zrobiłem tak jak w tym linku wszystko. Mam moja baze w pliku aw.sdf. Poszperałem w google i znalazłem jak się połączyć. Ściągnąłem sql compact edition, do projektu dodałem System.Data.SqlServerCe.dll do references. Zrobiłem próbny kod:

Imports System.Data.SqlServerCe

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim connect As String = "Data source=D:\studia\podstawy programowania vba\test\test\WindowsApplication1\bin\Debug\aw.sdf;"
        Dim conn As New SqlCeConnection(connect)
        Dim command As New SqlCeCommand
        Dim liczba As Integer
        conn.Open()
        command.CommandText = "Select count(*) from users"
        liczba = command.ExecuteScalar
        MsgBox(liczba)

    End Sub
End Class

Jednak dostaje bład: ExecuteScalar: Connection property has not been initialized.

Ale przecież wykonałem

Dim conn As New SqlCeConnection(connect)

Więc czego się czepia kompilator? Co robie źle??

Problem rozwiązany wystarczyło zrobić tak:

Dim command = New SqlCeCommand("Select count(*) from users", conn)

Przepraszam, za małe lenistwo, coraz lepiej idzie mi samodzielne szukanie w google i korzystanie z dokumentacji :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1