powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
6 сообщений из 6, страница 1 из 1
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
    #38556519
petrovitch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, как разобраться.
Программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#, на котором она создается, если перенести ее на любой другой комп, то при подключении к базе Firebird ошибка вот такая
Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: test.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 52f8ef92
Сигнатура проблемы 04: FirebirdSql.Data.FirebirdClient
Сигнатура проблемы 05: 4.1.0.0
Сигнатура проблемы 06: 52c5226d
Сигнатура проблемы 07: 35c
Сигнатура проблемы 08: d7
Сигнатура проблемы 09: RLZ2AHQIFT0LD4PGVXMMI0HTOTMI2VY3
Версия ОС: 6.1.7600.2.0.0.272.7
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

к базе SQLite ошибка такая
Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: test.exe
Сигнатура проблемы 02: 1.0.0.0
Сигнатура проблемы 03: 52f8d87c
Сигнатура проблемы 04: PresentationCore
Сигнатура проблемы 05: 4.0.0.0
Сигнатура проблемы 06: 4ba1f865
Сигнатура проблемы 07: 1a53
Сигнатура проблемы 08: 1d
Сигнатура проблемы 09: System.IO.FileNotFoundException
Версия ОС: 6.1.7600.2.0.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

во втором случае скорее всего не находится файл базы
код подключения к ней
const string databaseName = "test.db3";
SQLiteConnection connection = new SQLiteConnection(string.Format("Data Source={0};", databaseName));
connection.Open();

Файл test.db3 в том же каталоге, что и test.exe.
Если на комп установить Visual C# ошибки не возникают, программа делает выборку из базы, Framework на всех компах v4.0.30319
...
Рейтинг: 0 / 0
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
    #38556550
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrovitch, в случае с SQLite попробуй указывать полный путь к БД:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private static string GetExeDirectory()
{
	Assembly asm = Assembly.GetExecutingAssembly();
	string filePath = new Uri(asm.EscapedCodeBase).LocalPath;
	return Path.GetDirectoryName(filePath);
}
...
const string databaseName = "test.db3";
SQLiteConnection connection = new SQLiteConnection(string.Format("Data Source={0}\\{1};", GetExeDirectory(), databaseName));
connection.Open();


В чем проблема с FireBird непонятно. Клиентские dll для него ты копируешь вместе с программой?
...
Рейтинг: 0 / 0
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
    #38557503
petrovitch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С Firebird разобрался, Visual C# не при чем, на компе, на котором пишется программа еще установлен Firebird Superserver, строка соединения с базой была с ошибкой, не был выбран тип сервера полноценный или встроенный, в параметрах соединения с базой было Charset = WIN1251, а нужно было ctype = win1251.
У embed сервера версия ODS не совпадала с версией базы.
На первом компе программа работала с базой через Superserver и ошибок не было, а при переносе на любой другой комп при работе с embed сервером возникали ошибки.
А к SQLite подключается только при наличии на компе Visual C#.
...
Рейтинг: 0 / 0
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
    #38557541
petrovitch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Assembly asm = Assembly.GetExecutingAssembly(); - ошибка - не удалось найти имя типа или или пространство имен Assembly
const string databaseName = "test.db3";
textBox1.Text = AppDomain.CurrentDomain.BaseDirectory + databaseName; - показывает правильный полный путь к файлу базы,
SQLiteConnection connection = new SQLiteConnection(string.Format("Data Source={0}\\{1};", AppDomain.CurrentDomain.BaseDirectory, databaseName)); и
SQLiteConnection connection = new SQLiteConnection(string.Format("Data Source={0}{1};", AppDomain.CurrentDomain.BaseDirectory, databaseName)); - ошибка прежняя
...
Рейтинг: 0 / 0
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
    #38559249
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrovitch, если, как ты говоришь установка VS решает проблему, то возможно какой-то сборки не хватает. Непонятно правда почему нет исключения, но возможно ты их ловишь. Включи протоколирование загрузки сборок. Скот Хансельман хорошо это описал - Back to Basics: Using Fusion Log Viewer to Debug Obscure Loader Errors . Затем ищи в логах ошибки загрузки. Если ничего не найдешь, то добвляй в программу протоколирование всех необработанных исключений и смотри там.
...
Рейтинг: 0 / 0
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
    #38559281
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего, провайдер SQLite проинсталлирован в GAC. Нужно референсить precompiled binaries ( https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki - см. пункт package types), или добавлять референсы через NuGet.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]