Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 6
1
SQLite

Перенос приложения с БД SQLite на другой компьютер

07.05.2016, 20:06. Показов 2243. Ответов 10
Метки нет (Все метки)

Столкнулся с следующей ситуацией: приложение с базой данных SQLite, написанное на C#, не запускается на другой машине. Подскажите, пожалуйста, по какой причине это происходит и как это исправить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2016, 20:06
Ответы с готовыми решениями:

SQLite и перенос программы на другой компьютер
Здравствуйте уважаемые форумчане. Знаю что подобные вопросы уже обсуждались. Мой в какой-то...

Перенос приложения с БД на другой компьютер
Здравствуйте. У меня есть прога на винформах которая берет данные с БД(добавляет,удаляе и тд.). Эту...

Перенос приложения на другой компьютер
Закинул в папку с exe libmysql.dll, на моем компе работает, запускаю на другом и libmysql.dll...

Перенос приложения на другой компьютер
Есть приложение Windows Forms, на моём компе всё работает. БД на localDB. Отправляю проект...

10
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
07.05.2016, 20:20 2
Цитата Сообщение от inquisitive Посмотреть сообщение
по какой причине это происходит и как это исправить?
Если сама dll System.Data.SQLite предоставляется вместе с программой, попробуйте установить на целевом компьютере пакет Visual C++ (vcredist_x86 или vc_redist.x64, в зависимости от разрядности).
1
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 6
07.05.2016, 21:34  [ТС] 3
Библиотека предоставляется, пакет стоит. При попытке запустить программу вылетает исключение со следующим текстом:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.SQLite.SQLiteException (0x80004005): unable to open database file
at System.Data.SQLite.SQLite3.Open(String strFilename, String vfsName, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, Int32 maxPoolSize, Boolean usePool)
at System.Data.SQLite.SQLiteConnection.Open()
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at SQLiteTest._dbTest_SQLiteDataSetTableAdapters.PassDataTableA dapter.Fill(PassDataDataTable dataTable)
at SQLiteTest.Form1.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(M essage& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Mes sage& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
SQLiteTest
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///G:/dat/Elements/НАКОПИТЕЛЬ/77/SQLiteTest.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data.DataSetExtensions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.DataSetExtensions/v4.0_4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
System.Data.SQLite
Assembly Version: 1.0.101.0
Win32 Version: 1.0.101.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data.SQLite/v4.0_1.0.101.0__db937bc2d44ff139/System.Data.SQLite.dll
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
07.05.2016, 21:42 4
Цитата Сообщение от inquisitive Посмотреть сообщение
вылетает исключение со следующим текстом:
Эта строка как бы намекает.
Цитата Сообщение от inquisitive Посмотреть сообщение
unable to open database file
Файл базы не найден. Как формируете строку подключения? Покажите? 100500 в строке подключения что-то не так.
0
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 6
08.05.2016, 14:57  [ТС] 5
Строку подключения формирую по-простому: в обозревателе серверов Visual Studio. Выглядит она так: C:\GENERAL\РАЗНОЕ\BaseSQLiteTest\BaseSQLiteTest\bin\Debug\db Test.SQLite.db. Приложение, перенесенное на другой диск в другую папку, запускается, а на другой машине - нет.
0
Эксперт .NET
7536 / 5027 / 1197
Регистрация: 25.05.2015
Сообщений: 15,316
Записей в блоге: 14
08.05.2016, 15:01 6
Вы этот файл бд на другой машине тоже создали в такой же папке?
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
08.05.2016, 15:20 7
Цитата Сообщение от inquisitive Посмотреть сообщение
Строку подключения формирую по-простому
Простой путь - не самый лучший. Сделайте такой путь (при условии, что файл базы находится рядом с исполняемым файлом и имя его - database.db)
C#
1
string dbPath=string.Format("Data Source={0}", Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "database.db"));
1
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 6
04.06.2016, 22:11  [ТС] 8
Нет, в другой. Уже разобрался, в чем проблема.
0
0 / 0 / 0
Регистрация: 12.05.2016
Сообщений: 6
20.01.2017, 20:34 9
Подскажите пожалуйста, как вы решили проблему ???
0
.NET senior
437 / 355 / 137
Регистрация: 23.09.2016
Сообщений: 980
21.01.2017, 03:51 10
sr_dzyu, insite2012 уже показал простой и логичный вариант решения проблемы - указание относительного пути к базе данных в строке подключения; соответственно, файл базы данных должен быть доступен по этому пути и переноситься вместе с приложением.
1
0 / 0 / 0
Регистрация: 12.05.2016
Сообщений: 6
21.01.2017, 15:54 11
bax_tang, спасибо, но я не могу уловить куда мне его передавать. Т.к. Приложение из двух проектов веба и библиотеки(которая и хранит EF свяь с бд) и как вообще ходу его менять =\
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2017, 15:54

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Перенос приложения с БД на другой компьютер
Прет всем , есть такая проблемка я реализовал на на своём ноуте обычное приложение которое...

Qt5 Перенос приложения на другой компьютер
Установил я QtCreator + Qt5 + MinGW. Все зашибись работает. Что бы иметь возможность запускать...

Перенос Qt приложения на другой компьютер (linux)
Cоздал небольшое приложение на Qt 5.8.0, из используемого QtCore, QtNetwork и QtSql. Сборка qt...

База MSSQL и перенос приложения на другой компьютер
Доброго времени суток бойцы....такой вопросик хотелось бы задать... Написал я приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.