Nespusti sa program – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nespusti sa program – .NET – Fórum – Programujte.comNespusti sa program – .NET – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
ing0
Stálý člen
14. 4. 2014   #1
-
0
-

Ahojte,
mám napísaný program, ktorý ide spustiť bez problémov všade, až na windows server 2003 na ktorom má bežať, .NetFramework tam je nainštalovaný
Program sa na pár sekúnd objaví v procesoch a potom odtiaľ zmizne, neukáže žiadnu chybu ani nič...
Ďakujem za rady

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
RomanZ
~ Anonymní uživatel
272 příspěvků
14. 4. 2014   #2
-
0
-

Přesnou odpověď nevím, můžu jen popsat, jak bych postupoval já. Zkus prohledat Event Viewer, jestli tam nenajdeš nějakou stopu. Pokud to nepomůže, tak napsat konzolovou aplikaci Hello World a zkusit spustit - když nepoběží, máš možná špatně nainstalovaný .NET. Bacha na to, abys měl nainstalovanou správnou verzi .NET (např. pozor, zda není nainstalovaný jen .NET Client Profile namísto plného .NET Frameworku).  Pokud Hello World poběží, doplnit do svého programu logování a logovat chyby při spuštění, pak prostudovat log.

Nahlásit jako SPAM
IP: 90.176.60.–
ing0
Stálý člen
14. 4. 2014   #3
-
0
-

.net tam je nainštalovaný správne, pretože skúšal som iné programy a tie sa spustili, zistil som že sa nedostane ani do form1.designer.vb, pretože tam som si nastavil msgbox ktorý mi nezobrazilo

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
VladislavK0
Super člen
14. 4. 2014   #4
-
0
-

Dej sem zacatek toho kodu

Hlavne ten soubor s main (Program.vb) a form1.vb

Nahlásit jako SPAM
IP: 37.48.40.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
ing0
Stálý člen
14. 4. 2014   #5
-
0
-

kód nieje dlhý, tu je celý form1.vb, a možno blbá otázka, kde nájdem ten main?

Public Class Form1
    Dim oRs As New ADODB.Recordset
    Dim SQLQ As String
    Dim StrDbAccess As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\...\DtbStats.mdb;Persist Security Info=False"
    Dim xProc As String
    Dim xLineName As String = Environment.UserName
    Dim xWait As Integer = 0

    Private Sub FindAndKill()
        For Each proc As Process In System.Diagnostics.Process.GetProcesses
            If proc.ProcessName = "SPC" Then
                If proc.Responding = False Then
                    xWait += +1                     'pocka 50 sekund az potom vypne proces
                    If xWait = 5 Then
                        Timer1.Enabled = False
                        Form2.Label1.Text = "Pravdepodobne došlo k chybe pri zobrazovaní výkresu. SPC musí byť teraz ukončené."
                        Form2.Text = "Program " & proc.ProcessName & " prestal pracovať"
                        Form2.ShowDialog()          'vo form2 sa nachadza iba label a button kde je iba me.close
                        proc.Kill()                 'zabije neodpovedajuci proces
                        xWait = 0
                        xProc = proc.ProcessName    'ulozi meno neodpovedajuceho procesu pre zapis do dtb
                        SaveToDtb()                 'vola ukladanie do dtb
                        Timer1.Enabled = True
                    End If
                Else
                    xWait = 0
                End If
            ElseIf proc.ProcessName = "SFDC" Then
                If proc.Responding = False Then
                    xWait += +1
                    If xWait = 5 Then
                        Timer1.Enabled = False
                        Form2.Label1.Text = "Došlo k neočakávanej chybe v SFDC, program bude musieť byť reštartovaný!"
                        Form2.Text = "Program " & proc.ProcessName & " prestal pracovať"
                        Form2.ShowDialog()
                        proc.Kill()
                        xWait = 0
                        Process.Start("G:\...\SFDC.EXE")     'pokus o opatovne spustenie sfdc
                        xProc = proc.ProcessName
                        SaveToDtb()
                        Timer1.Enabled = True
                    Else
                        xWait = 0
                    End If
                End If
            Else
                If proc.Responding = False Then
                    xWait += 1
                    If xWait = 5 Then
                        Timer1.Enabled = False
                        Form2.Label1.Text = "Došlo k neočakávanej chybe v " & proc.ProcessName & ", program bude musieť byť ukončený!"
                        Form2.Text = "Program " & proc.ProcessName & " prestal pracovať"
                        Form2.ShowDialog()
                        proc.Kill()
                        xWait = 0
                        xProc = proc.ProcessName
                        SaveToDtb()
                        Timer1.Enabled = True
                    End If
                End If
            End If
        Next
    End Sub

    Private Sub SaveToDtb()
        SQLQ = "SELECT * FROM Not_Responding_Stats"
        oRs.Open(SQLQ, StrDbAccess, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockOptimistic)
        oRs.AddNew()
        oRs.Fields("Line").Value = xLineName
        oRs.Fields("Program").Value = xProc
        oRs.Fields("Date_Time").Value = DateTime.Now
        oRs.Update()
        oRs.Close()
    End Sub

    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        FindAndKill()
    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Me.WindowState = FormWindowState.Minimized
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If MsgBox("Ste si istý, že chcete ukončiť program?", vbQuestion + vbYesNo, "") = vbYes Then
            Me.Close()
        End If
    End Sub

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Timer1.Enabled = True
    End Sub
End Class
Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
p3can
~ Anonymní uživatel
312 příspěvků
14. 4. 2014   #6
-
0
-

no rekl bych ze tam bude problem s tou absolutni cestou + mozna bych to skusil spustit jako spravce.

Nahlásit jako SPAM
IP: 77.92.213.–
ing0
Stálý člen
14. 4. 2014   #7
-
0
-

spustenie ako spravca nepomaha a ta cesta by tiez nemala byt problem, pretoze na druhom win server 2003 to ide bez problemov

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
ing0
Stálý člen
14. 4. 2014   #8
-
0
-

#6 p3can
tak keďže je ten program taký krátky, tak som začal písať od nuly a po každom kroku som testoval kedy sa prestane spúšťať, problém bol v

Dim StrDbAccess As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\...\DtbStats.mdb;Persist Security Info=False"


tak to môže byť tou cestou ako píšeš, tak moja otázka znie ako to teda vyriešim? v tomto danom programe nepotrebujem tú databázu až tak moc, lebo to je iba taká menšia štatistika len pre mňa, ale robí mi to ešte v druhom programe a v ňom ju potrebujem

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
VladislavK0
Super člen
14. 4. 2014   #9
-
0
-

Pouze jedna z mozností

DataSource="|DataDirectory|dtbStats.mdb"

Nahlásit jako SPAM
IP: 37.48.40.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
ing0
Stálý člen
14. 4. 2014   #10
-
0
-

tak problém je nakoniec inde, akonáhle deklarujem premennú oRs, čo je prepojenie s databázou tak nespustím program, takže tá cesta s tým nemá nič spoločné

Dim oRs As New ADODB.Recordset
Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
p3can
~ Anonymní uživatel
312 příspěvků
14. 4. 2014   #11
-
0
-

ten OLEDB driver co tam pouzivas je hodne stary stejne tak jako ten recordSet. i na wiki se pise ze uz je to deprecated. doporucuju prejit na nejaky normalni driver kdyz komunikujes s MS databazi nebo coz je podle me nejlepsi se vykaslat na klasickou relacni databazi a implementovat si jednoduchou "dokumentovou databazi" s pomoci JSON.NET. implementace zabere asi tak 3 radky, pokud nemas velky provoz coz rikas ze nemas tak je to podle me super reseni. princip je ten ze budes List<data> serializovat do json a to ulozis do souboru. pak to zase nactes ze souboru a zpetne deserializujes do list<data>.

Nahlásit jako SPAM
IP: 77.92.213.–
ing0
Stálý člen
15. 4. 2014   #12
-
0
-

velky prevoz nemam v tomto programe, ale mam dalsie ktore su zalozene na databaze, takze tam to bude tazsie... tak mi skus poradit nieco v style OLEDB ale novsie,

a inak dik

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
ing0
Stálý člen
15. 4. 2014   #13
-
0
-

tak dnes som hladal nahradu za OLEDB a nasiel som ODBC, s nasim MSSQL serverom som to rozchodil bez problemov, ale ked to chcem napojit na nejaku mensiu Access databazu, ako v tomto pripade tak sa neviem pohnut

zasekavam sa v tom ze neviem ako mam dat connection string

Dim con As OdbcConnection = New OdbcConnection("Provider=Microsoft.ACE.OLEDB.12.00;Data Source=G:\...\test.mdb;Persist Security Info=False")

toto mi nasiel google ale dostanem len chybu

Data source name not found and no default driver specified


este s tymto mi niekto skuste pomoct a dam pokoj   

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
p3can
~ Anonymní uživatel
312 příspěvků
15. 4. 2014   #14
-
0
-

v tom cs mas chybu. neni 12.00 ale 12.0

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\p3can\Documents\test_db.accdb;Persist Security Info=False;

skusil bych to jak pro tvuj puvodni kod(OleDB) tak pro pro ODBC.

Nahlásit jako SPAM
IP: 77.92.213.–
ing0
Stálý člen
15. 4. 2014   #15
-
0
-

uz si pripadam ako fakt blbo, dufam ze sa mi to co najskor podari :D ked pouzijem povodny kod, ze nezmenim nic len providera, tak mi to funguje, ale nespustim to na tom servery lebo tam mam  ADODB.RECORDSET

cez ODBC mi to funguje len s MSSQL serverom a ACCESS sa mi nedari vobec rozbehnut novym kodom

pridam novy kod

Imports System.Data.Odbc

Public Class Form1
    Dim oRS As OdbcConnection
    Dim sqlq As String
    Dim myReader As OdbcDataReader
    Dim cmd As OdbcCommand

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        oRS = New OdbcConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=G:\databases\Production\Access\DtbStats.mdb;Persist Security Info=False")

        NacitajCombo()

    End Sub

    Private Sub NacitajCombo()
        sqlq = "SELECT * FROM Not_Responding_Stats"
        cmd = New OdbcCommand(sqlq, oRS)
	//pri ors.open sa mi to zasekne s chybou DATASOURCE NAME NOT FOUND AND NO DEFAULT DRIVER SPECIFIED
        oRS.Open()
        myReader = cmd.ExecuteReader()

        If myReader.HasRows Then
            Do While myReader.Read
                combo.Items.Add(myReader.Item("user"))
            Loop
        Else
            MsgBox("Ziadny zaznam")
        End If
        oRS.Close()
        myReader.Close()

    End Sub
End Class


pri ors.open sa mi to zasekne s chybou DATASOURCE NAME NOT FOUND AND NO DEFAULT DRIVER SPECIFIED

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
Řešení
ing0
Stálý člen
15. 4. 2014   #16
-
0
-
Vyřešeno Nejlepší odpověď

dobre uzatvaram to konecne s tymto

        oRS = New OdbcConnection("Driver={Microsoft Access Driver (*.mdb)};Dbq=G:\...\DtbStats.mdb;Uid=Admin;Pwd=;")


zatial to vyzera ze to pojde   

Nahlásit jako SPAM
IP: 213.81.137.–
V programovani som uplna lama, ale som samouk tak sa nesmejte
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 26 hostů

Podobná vlákna

Nespustí se JAR soubor — založil David Klouček

Program — založil Jan Burant

C# program — založil Tomas.P

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý