Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# и FireBird или PostgreSql / 21 сообщений из 21, страница 1 из 1
07.02.2017, 04:10
    #39399749
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Подскажите, что лучше и проще использовать для связки C# + бесплатная База данных, FireBird или PostgreSql или "..." ?

При этом необходима простота переноса на любой комп (WinXP-Win10)

P.S. Ранее использовалось Delphi + FireBird Embedded
...
Рейтинг: 0 / 0
07.02.2017, 08:52
    #39399784
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
antox,

Ну раз работал с Firebird embedded то и продолжай с ним.
Для Firebird используй Firebird NET DataProvider, для PostgreSQL тоже есть свой NET DataProvider (Npgsql).
...
Рейтинг: 0 / 0
07.02.2017, 11:20
    #39399881
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Barkan, спасибо!

А что нужно переносить на другой комп вместе с fb и приложением? Dll провадера? Достаточно поместить их в папку с приложением или необходимо регистрировать в системе? А если fb не enbedded и утсновлен на другой linux машине, не надо что-то дополнительное использовать кроме этих dll ?

Можно ли при использовании Firebird NET DataProvider выводить данные в какой-нибудь grid ?

Какой лучше использовать grid, в delphi использую Ehlib, но для VS его нет?
...
Рейтинг: 0 / 0
13.02.2017, 10:51
    #39403269
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
antox,

Достаточно скопировать все DLL оказавшиеся рядом с твоим EXE файлом.
С embedded я не работал, всегда использовал "полный" сервер установленный локально или где то в сети.
В моём случае - пофигу где, главное правильно указать имя сервера и имя базы (алиаса базы).

Когда данные получены в DataTable или в какую либо коллекцию, им уже фиолетово откуда они родом.
Показывай их в гридах, у Winforms их два, у WPF тоже есть свой. Лично я пользуюсь "допиленным" DataGridView.
...
Рейтинг: 0 / 0
15.02.2017, 12:14
    #39404755
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
antoxПодскажите, что лучше и проще использовать для связки C# + бесплатная База данных, FireBird или PostgreSql или "..." ?

При этом необходима простота переноса на любой комп (WinXP-Win10)

P.S. Ранее использовалось Delphi + FireBird Embedded

PostgreSql
SQLServer Express 2016 (database size<=10GB)
...
Рейтинг: 0 / 0
15.02.2017, 14:07
    #39404913
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
antoxPostgreSql
...
Рейтинг: 0 / 0
16.02.2017, 08:27
    #39405416
doos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Firebird
...
Рейтинг: 0 / 0
16.02.2017, 10:42
    #39405518
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
в тестовом режиме у меня вроде все приделалось
в связке FB embedded - c#.

тогда перенос на другой комп - ну папочку целиком.
но, говорят это неправильно, а правильнее все таки сервер - в отдельном процессе.
...
Рейтинг: 0 / 0
16.02.2017, 10:45
    #39405523
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
FB embedded же в эксклюзивном режиме базу открывает, только один юзер может лазить, не?
...
Рейтинг: 0 / 0
16.02.2017, 13:31
    #39405670
doos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Pallaris,

да, а режим подключения (эмбедед/не эмбедед) зависит от строки подключения
...
Рейтинг: 0 / 0
01.06.2017, 12:34
    #39463746
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Vladimir Baskakovв тестовом режиме у меня вроде все приделалось
в связке FB embedded - c#.

Поделись тогда опытом, а то с "полнокровным" FB работаю давно, а с embedded только сейчас решил попробовать и ступор.
Какие версии используешь NET Framework, FB NET Data Provider, Firebird?
Что пишешь в строку подключения?
Используешь FbConnectionStringBuilder?
Что подсовываешь в папку скомпилированной программы?
Как распространяешь программу?
...
Рейтинг: 0 / 0
05.06.2017, 15:36
    #39465964
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
ну я только экспериментировал
- взял папку от прямо файерберда, в нее же закинул дотнетный драйвер FirebirdSql.Data.FirebirdClient.dll

тк база у меня 32 разрядная (или драйвер? не помню, что-то из них), сказал об этом компилятору
csc /platform:x86 /reference:FirebirdSql.Data.FirebirdClient.dll %1

билдер , да использовал
FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();
//fb_con.Charset = "UTF8"; //используемая кодировка
fb_con.UserID = "login"; //логин
fb_con.Password = "password"; //пароль
fb_con.Database = @"empty__.fdb"; //путь к файлу базы данных
fb_con.ServerType = FirebirdSql.Data.FirebirdClient.FbServerType.Embedded ; //указываем тип сервера (0 - "полноценный Firebird" (classic или super server), 1 - встроенный (embedded))

дотнет кажись 4-й.

но дальше экспериментов не продвинулся.
...
Рейтинг: 0 / 0
06.06.2017, 06:55
    #39466336
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Vladimir Baskakov,

У меня что то не получается, сперва грешил на старые версии NET (v2.0) и FB NET Data Provider (v.2.0.1) при новом Firebird v.3
Установил NET 4.5, взял FB NET Data Provider v.5.9.1 и всё равно лыжи не едут!
Делаю так - в папку с откомпилированной программой положил файл базы данных и файл fbclient.dll из папки Firebird3.
В коде пишу:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Imports FirebirdSql.Data.FirebirdClient

Public Partial Class MainForm
   
   Private Shared cnnCNN As FbConnection
   
   Public Sub New()
      ' The Me.InitializeComponent call is required for Windows Forms designer support.
      Me.InitializeComponent()
      AddHandler Me.Closing, AddressOf Me_Closing
      Open()
   End Sub
   
   Private Sub Open()
      Dim strBase As String = Application.StartupPath & "\LOT.FDB"
      Dim strCNN As String = "initial catalog=" & strBase & ";dialect=3;user id=GAMER;password=xxx;role name=GAMERS;character set=WIN1251;server type=Embedded;client library=fbclient.dll"
      
      cnnCNN = New FbConnection(strCNN)
      Try
         cnnCNN.Open()
         Debug.Print("Open")
      Catch ex As FbException
         Debug.Print(ex.ToString())
      End Try
   End Sub
   
   Private Sub Me_Closing(ByVal obj As Object,ByVal e as System.ComponentModel.CancelEventArgs)
      cnnCNN.Close()
      Debug.Print("Close")
   End Sub
   
End Class



При выполнении получаю исключение:
FirebirdSql.Data.FirebirdClient.FbException (0x80004005): connection lost to database ---> connection lost to database
с указанием на строку cnnCNN.Open()

При использовании "полного" сервера (строка коннекта другая) код работает.

Подскажите люди добрые, чего я не так делаю.
...
Рейтинг: 0 / 0
06.06.2017, 08:48
    #39466375
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
BarkanДелаю так - в папку с откомпилированной программой положил файл базы данных и файл fbclient.dll из папки Firebird3.
...
Рейтинг: 0 / 0
06.06.2017, 08:48
    #39466376
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
...
Рейтинг: 0 / 0
06.06.2017, 10:16
    #39466440
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Pallaris,

Перечитал пост, стал добавлять из Firebird3 в папку с программой:
- [intl]
- [plugins]
- fbclient.dll
- firebird.msg
- databases.conf
- firebird.conf (здесь пробовал менять параметры по ходу чтения поста)
- icudtl52l.dat
- msvcr100.dll

Ситуация не изменилась, по прежнему то же исключение:
FirebirdSql.Data.FirebirdClient.FbException (0x80004005): connection lost to database ---> connection lost to database
...
Рейтинг: 0 / 0
07.06.2017, 14:15
    #39467845
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
а киньте свою программу в папку с распакованной базой . раз. Используйте построители строк соединения - два. три.... а оно вообще зачем? оно точно надо? вопрос конечно философский, но все же.
...
Рейтинг: 0 / 0
08.06.2017, 05:42
    #39468260
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Vladimir Baskakovа киньте свою программу в папку с распакованной базой . раз.
Вот совсем не понял что предлагаете! Разверните пожалуйста своё предложение.
FbConnectionStringBuilder - использовал, не результат не влияет.
Зачем вообще это делаю - хочу из рабочей программы сделать "демонстрашку" - скопировал, запустил, показал.
В форуме по FireBird то же обсуждается: http://www.sql.ru/forum/1082401-3/est-li-firebird-3-embedded-server
...
Рейтинг: 0 / 0
08.06.2017, 07:04
    #39468270
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
BarkanВ форуме по FireBird то же обсуждается: http://www.sql.ru/forum/1082401-3/est-li-firebird-3-embedded-server

Надеюсь, там вам помогут больше. Работал с FB Embedded 2.5 давно, не припомню таких проблем. Наверное, что-то изменилось с тех времен
...
Рейтинг: 0 / 0
08.06.2017, 09:44
    #39468331
Vladimir Baskakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
BarkanVladimir Baskakovа киньте свою программу в папку с распакованной базой . раз.
Вот совсем не понял что предлагаете! Разверните пожалуйста своё предложение.
FbConnectionStringBuilder - использовал, не результат не влияет.
Зачем вообще это делаю - хочу из рабочей программы сделать "демонстрашку" - скопировал, запустил, показал.
В форуме по FireBird то же обсуждается: http://www.sql.ru/forum/1082401-3/est-li-firebird-3-embedded-server

Я (давно) качал не инсталляху ф-берда, а архив.

Firebird-3.0.###_Win32.zip

Прямо его развернул, туда же закинул драйвер

FirebirdSql.Data.FirebirdClient.dll

и прямо в ней же из консоли собирал экзешник.
примерно так

csc /platform:x86 /reference:FirebirdSql.Data.FirebirdClient.dll hello.cs


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
using System; 
using System.Collections.Generic; 
using System.Collections; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using FirebirdSql.Data.FirebirdClient; //добавляем пространство имен firebird ado.net provider, необходимое для взаимодействия с Firebird
using FirebirdSql.Data.Isql;


// Hello1.cs
public class Hello1
{
   public static void Main()
   {

    FbConnectionStringBuilder fb_con = new FbConnectionStringBuilder();
    //fb_con.Charset = "UTF8"; //используемая кодировка
    fb_con.UserID = "SYSDBA"; //логин
    fb_con.Password = "masterkey"; //пароль
    fb_con.Database = @"empty__.fdb"; //путь к файлу базы данных
    fb_con.ServerType = FirebirdSql.Data.FirebirdClient.FbServerType.Embedded ; //указываем тип сервера (0 - "полноценный Firebird" (classic или super server), 1 - встроенный (embedded))

    //System.Collections.Hashtable parameters = new Hashtable();
    //parameters.Add("User", "SYSDBA");
    //parameters.Add("Password", "masterkey");
    //parameters.Add("Database", @"mydb.fdb");
    //parameters.Add("ServerType", 1);

    FbConnection.CreateDatabase(fb_con.ConnectionString); //открываем БД

    System.Console.WriteLine(fb_con.ConnectionString + "\nDatabase Created!");

    //fb.Close(); 
   }
}




он у меня создавал тестовую пустую базу. давайте попробуем, если все так же в точности сделать, причем в папке где в пути от корня не будет кириллицы и пробелов - оно создаст базу или не создаст базу пустую.
...
Рейтинг: 0 / 0
09.06.2017, 06:12
    #39469123
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# и FireBird или PostgreSql
Vladimir Baskakov,

Спасибо!

Видимо причина была в том, что я подсовывал своей программе файлы от установленного x64 сервера.
Скачал Firebird-3.0.2.32703-0_Win32.zip, распаковал в свою папку - заработало.
В общем сейчас работает при наличии следующих папок и файлов:
- [intl]
- [plugins]
- fbclient.dll
- ib_util.dll

Проверил на проектах для NET 4.5 + FB Data Provider 5.9.1 и NET 3.5 + FB Data Provider 3.2.0
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# и FireBird или PostgreSql / 21 сообщений из 21, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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