[ WhiteAngelBoy75 @ 02.11.2008. 23:42 ] @
Volio bih kada pokrenem program u vb 2008 da program pokrene sam ukljucivanje SQL 2008 Express i kad zatvaram
program da on zatvori i SQL. Neznam koliko je pametno da on to radi kad radi sa bazom iz SQL i kad zavrsi radnju da
iskljuci SQL. Inace SQL je podesen na Manual, da ne trosi memoriju kada program ne radi. Molim
pomoc, VB kod bi dobro dosao !!!

[ vujkev @ 03.11.2008. 01:13 ] @

Code:

        Dim p As New System.Diagnostics.Process
        p.StartInfo.FileName = "net"
        p.StartInfo.Arguments = "start MSSQL$SQLEXPRESS"   ' ili stop MSSQL$....
        p.Start()



MSSQL$SQLEXPRESS treba da zameniš sa nazivom servisa pod kojim radi SQL server
[ WhiteAngelBoy75 @ 03.11.2008. 21:24 ] @
Zao mi je vujkev ali to ne funkcionise! On otvori i zatvori Prozor Command Prompt, ne prijavljuje nikakvu gresku... kao da je sve uradio ali Server nije pokrenut? Zasto je to ime "net". Kad se to promeni javlja gresku, zasto ? Mozes li detaljnije objasniti System.Diagnostic.Process ??? Nisam nasao ni jedan primer kako se pokrece sql iz koda, kao da to ljudi ne rade. Mada mi to nema nikakve logike.

I dalje H E L P !!!

[ vujkev @ 04.11.2008. 04:56 ] @
NET je naziv programa koji treba da startuje servis "net.exe"

Probaj da u command prompt-u ukucas "net start <naziv servisa>" pa vidi koju grešku će prijaviti
[ WhiteAngelBoy75 @ 06.11.2008. 15:12 ] @
Greska je u imenu servisa predpostavljam ili mozda u jos necemu dubljem. Vidi ovako.
Kad ti kazes ime servisa onda je to valjda imekompjutera/sqlexpress
To se pojavljuje kad se ulogujem. To stoji kao NAME u PROPERTIES. ali ime takvog fajla ne postoji!

Kad ukucam u Command Promt net start imekompjutera/sqlserver javlja mi sistemska greska 123... ja ne znam sta ta
greska znaci.

Moze li ti ovo sta znaciti?

- Prilikom instalacije nije imao dovoljno mesta na C:\ pa sam mu rekao da instalira na D:\
Tako je on instalirao nesto pod c a nesto pod d...

- Servis ne mogu pokrenuti direktno iz Manegemant Studio ... nego prvo iz Configuration... pa kad je pokrenut tek onda
mogu preko Manegemant-a da se ulogujem... ako ne pokrenem sql iz Configuration... -a javlja gresku 23
tj. ne moze da nadje file za pokretanje servera...

- Pretpostavljam da je to isti problem i sa command promt.

???

HELP









[ vujkev @ 06.11.2008. 15:40 ] @
Ovako:

1. Startuješ Services snap-in (start - control panel - administrative tools - services)
2. Nadješ servis koji ima naziv "SQL Server (<naziv instance>)"
3. Desni klik na taj servis - properties
4. U General tabu kao prva stavka piše naziv servisa. Kod mene konkretno piše "Service name: MSSQL$SQLEXPRESS"

tebi treba taj naziv servisa
[ Predrag Glumac @ 09.11.2008. 11:58 ] @
Tjah, po meni je elegantije da korisits ServiceController, jer onda mozes da hvatas eventualne greske.

Code:

try
 {
    ServiceController sc = new ServiceController("MSSQL$SQLEXPRESS");
     sc.Start();
 }
catch (Exception ex)
 {
   Debug.WriteLine(ex.Message);
 }
[ WhiteAngelBoy75 @ 11.11.2008. 00:14 ] @
Bravo vujkev... radi, radi, radi... Znaci tu se gleda ime service... Ok...
Vidi sad... on pokrene Command promt i prikazuje kako ukljucuje server...
za to je potrebno neko vreme...

Moze li taj Command promt da se sakrije... da on to radi u pozadini ?
A kako da ga ugasim ?

Try
Dim p As New System.Diagnostics.Process
p.StartInfo.FileName = "net"
p.StartInfo.Arguments = "start MSSQL$SQLEXPRESS"
p.Start()

Catch ex As Exception
MessageBox.Show("Cannot start Sql service! Check Sql Configuration Manager! Error detail:" & vbCrLf &
ex.ToString, "Error:", MessageBoxButtons.OK, MessageBoxIcon.Warning)

End Try

Kada otkucam p. onda ne postoji naredba stop ili exit ili Close () ???

Predraze, naravno try... end try u svemu sto radim ali u Vb .net ne postoji

Dim sc as New ServiceController ... ??? Jesi li ti siguran da se ta funkcija tako zove?

Razmisljao sam da li postoji nesto sto ce mi reci... ako je service ukljucen onda otvori bazu podataka...
ali je to nepotrebno.... zato sto na pokretanju programa mora ukljuciti servis.
I dosao sam do zakljucka da on samo na pocetku programa treba da ukljucuje servis... zato sto mu treba
vremena da se ukljuci a ne svaki put kada radi sa bazom iz SQL-a i ugasi kada se program zatvara !!!



[ vujkev @ 11.11.2008. 11:34 ] @
Ako nećeš da se vidi prompt onda koristi kod koji je napisao Predrag.

Kod je ispravan, ali moraš dodati referencu na "System.ServiceProcess"
[ WhiteAngelBoy75 @ 12.04.2009. 03:08 ] @
Hvala gospodine Darko i Predrag, da i drugi vide resenje je:
Dodati referencu na Service.Process ( pritisni Add Reference u Project Menu )
Zatim upisi: Imports System.ServiceProcess

Kod mozete staviti u formu koja proverava Password, eventualno dodati Progress bar i Timer na 15 sekundi
da ceka dok se forma ne ugasi a on za to vreme pokrene Server !!!

Code:


                Try
                   
                    ' add reference - serviceprocess.dll 
                    ' zatim proveri status SQL, da li je pokrenut, ako nije pokreni ga
                    Dim sc As New ServiceController("MSSQL$SQLEXPRESS")
                    If sc.Status = ServiceControllerStatus.Stopped Then sc.Start()

                Catch ex As Exception
                    MessageBox.Show("Cannot start Sql service! Check Sql Configuration Manager! Error detail:" & vbCrLf & _
                       ex.ToString, "Error:", MessageBoxButtons.OK, MessageBoxIcon.Warning)
                    
                End Try