|
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
|
|||
---|---|---|---|
#18+
Подскажите, пожалуйста, как разобраться. Программа подключается к базе (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 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 02:09 |
|
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
|
|||
---|---|---|---|
#18+
petrovitch, в случае с SQLite попробуй указывать полный путь к БД: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
В чем проблема с FireBird непонятно. Клиентские dll для него ты копируешь вместе с программой? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 04:48 |
|
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
|
|||
---|---|---|---|
#18+
С Firebird разобрался, Visual C# не при чем, на компе, на котором пишется программа еще установлен Firebird Superserver, строка соединения с базой была с ошибкой, не был выбран тип сервера полноценный или встроенный, в параметрах соединения с базой было Charset = WIN1251, а нужно было ctype = win1251. У embed сервера версия ODS не совпадала с версией базы. На первом компе программа работала с базой через Superserver и ошибок не было, а при переносе на любой другой комп при работе с embed сервером возникали ошибки. А к SQLite подключается только при наличии на компе Visual C#. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 17:52 |
|
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
|
|||
---|---|---|---|
#18+
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)); - ошибка прежняя ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 18:21 |
|
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
|
|||
---|---|---|---|
#18+
petrovitch, если, как ты говоришь установка VS решает проблему, то возможно какой-то сборки не хватает. Непонятно правда почему нет исключения, но возможно ты их ловишь. Включи протоколирование загрузки сборок. Скот Хансельман хорошо это описал - Back to Basics: Using Fusion Log Viewer to Debug Obscure Loader Errors . Затем ищи в логах ошибки загрузки. Если ничего не найдешь, то добвляй в программу протоколирование всех необработанных исключений и смотри там. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2014, 03:13 |
|
программа подключается к базе (Firebird, SQLite) только на компе с Microsoft Visual C#
|
|||
---|---|---|---|
#18+
Скорее всего, провайдер SQLite проинсталлирован в GAC. Нужно референсить precompiled binaries ( https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki - см. пункт package types), или добавлять референсы через NuGet. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2014, 07:13 |
|
|
start [/forum/topic.php?fid=20&msg=38556519&tid=1403281]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 155ms |
0 / 0 |