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?
0
1
jest kilka rozwiązań...
- Zrobić eksport z bazy i zaimportować ją do SQL server'a na komputerze docelowym (ta opcja jednak ci nie odpowiada)
- 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
- 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