|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2009
Messaggi: 43
|
[VB.Net] SQLite e Windows 7
Salve,
Ho appena finito un programma che inserisce, elimina ecc. dati da un database SQLite (.s3db). Ho fatto un pacchetto di installazione, e l'ho distribuito. Sul mio PC (Windows Vista) funziona, e su altri (Anche Windows Vista o XP) funziona. Ora uno ha installato il programma su windows 7, e lì non funziona. C'è bisogno di qualche .dll specifica per windows 7 (Se sì, dove la scarico), o ha a che fare con qual' cosaltro??? PS: Il programma l'ho compilato con Visual Studio 2008 su Vista Conto sull'aiuto dei tanti esperti di questo forum |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Nov 2009
Messaggi: 43
|
Oggi mi ha informato un amico, che anche da lui non funziona (Lui ha Vista)
Mi potete semplicemente dire cosa devo fare per distribuire applicazioni von database sqlite, e quali prerequisiti, tranne il .Net framework, richiede il PC??? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
ma sqlite lo usi tramite libreria esterna ? in questo caso devi distribuire anche il file sqlite.dll
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Hai usato il P/Invoke sulle funzioni della dll nativa? Se hai usato una libreria tipo System.Data.SQLite ti basta distribuire quella, altrimenti devi distribuire la libreria nativa. Non hai un log dell'eccezione? |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Nov 2009
Messaggi: 43
|
Io uso la libreria system.data.sqlite, che ho già inserito nel pacchetto installazione. Il programma non fa eccezzioni, perchè le funzioni hanno un try. Adesso facio una versione del programma senza il try, e poi vi spedisco l'errore
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Può essere che non abbia i permessi di scrittura sul file?
Se il database si trova in Program Files l'utente potrebbe non avere i permessi di scrittura. In ogni caso il log dell'eccezione svelerebbe il problema. |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Nov 2009
Messaggi: 43
|
Allora, c'è un (forse grosso) problema: Giacche io vivo in germania, il mio amico ha un PC tedesco. Il log così è in tedesco, e inglese. Se ci sono parti che volete aver tradottto, ve le traduco subito
![]() ************** Ausnahmetext ************* (ECCEZIONE) System.Data.SQLite.SQLiteException: Attempt to write a read-only database attempt to write a readonly database ("BEI" VUOL DIRE IN) bei System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt) bei System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) bei System.Data.SQLite.SQLiteDataReader.NextResult() bei System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) bei System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) bei System.Data.SQLite.SQLiteCommand.ExecuteNonQuery() bei Verba_disco_1._1.neue_lektion.insert_command(String stringasql) in D:\MARTINO\Documents\Visual Studio 2008\Projects\Verba disco 1.01.11 - Beta\Vok 1.10.00\neue_lektion.vb:Zeile 42. bei Verba_disco_1._1.neue_lektion.fertig_Click(Object sender, EventArgs e) in D:\MARTINO\Documents\Visual Studio 2008\Projects\Verba disco 1.01.11 - Beta\Vok 1.10.00\neue_lektion.vb:Zeile 164. bei System.Windows.Forms.Control.OnClick(EventArgs e) bei System.Windows.Forms.Button.OnClick(EventArgs e) bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) bei System.Windows.Forms.Control.WndProc(Message& m) bei System.Windows.Forms.ButtonBase.WndProc(Message& m) bei System.Windows.Forms.Button.WndProc(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) ************** Geladene Assemblys ************** (ASSEMBLY CARICATO) mscorlib Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3603 (GDR.050727-3600). CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll. ---------------------------------------- mscorlib.resources Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3603 (GDR.050727-3600). CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll. ---------------------------------------- verba disco 1.01 Assembly-Version: 1.0.0.0. Win32-Version: 1.0.0.0. CodeBase: file:///C:/Program%20Files/Martino%20Software/Verba%20Disco%201%20beta/verba%20disco%201.01.exe. ---------------------------------------- Microsoft.VisualBasic Assembly-Version: 8.0.0.0. Win32-Version: 8.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll. ---------------------------------------- System Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll. ---------------------------------------- System.Windows.Forms Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll. ---------------------------------------- System.Drawing Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll. ---------------------------------------- System.Runtime.Remoting Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll. ---------------------------------------- System.Windows.Forms.resources Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll. ---------------------------------------- System.Data.SQLite Assembly-Version: 1.0.65.0. Win32-Version: 1.0.65.0. CodeBase: file:///C:/Program%20Files/Martino%20Software/Verba%20Disco%201%20beta/System.Data.SQLite.DLL. ---------------------------------------- System.Data Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll. ---------------------------------------- System.Transactions Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll. ---------------------------------------- System.Configuration Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll. ---------------------------------------- System.Xml Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3074 (QFE.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll. ---------------------------------------- System.EnterpriseServices Assembly-Version: 2.0.0.0. Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000). CodeBase: file:///C:/Windows/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll. ---------------------------------------- ************** JIT-Debuggen ************** Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der Konfigurationsdatei der Anwendung oder des Computers (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden. Die Anwendung muss mit aktiviertem Debuggen kompiliert werden. Zum Beispiel: <configuration> <system.windows.forms jitDebugging="true" /> </configuration> Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten Ausnahmen an den JIT-Debugger gesendet, der auf dem Computer registriert ist, und nicht in diesem Dialogfeld behandelt. |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Non so come mai (probabilmente per politiche di lock) ma sono necessari i permessi di scrittura anche sulla cartella che contiene il file del db. |
|
![]() |
![]() |
![]() |
#9 |
Member
Iscritto dal: Nov 2009
Messaggi: 43
|
Questo probblema cìè solo da alcuni PC. come si fa a dare i diritti di scritturta??? Come si risolve il probblema???
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
avviando il programma come amministratore hai provato ?
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Dove si trova il file? Se si trova in Programmi/Program Files e l'utente non è amministratore il software non ha i permessi di scrittura. Dovresti mettere il file in una delle cartelle recuperabili tramite Environment.GetFolderPath a seconda della logica del programma dovresti decidere se il database è a comune a tutti gli utenti della macchina oppure ogni utente ha il suo e scegliere la cartella di conseguenza. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:22.