Краш ZennoPoster при подключении к Базе Данных.

Veterinar

Client
Регистрация
01.07.2016
Сообщения
194
Благодарностей
22
Баллы
18
Доброго времени суток.

Пытаюсь подключиться к базе данных при помощи сторонней библиотеки Connect .NET библиотека: MySql.Data.dll

Но как только проходит C# сниппет открывающий соединение с БД ProjectMaker просто крашиться и все.

Код в CommonCode все необходимые директивы using присутствуют, как и сами библиотеки, а так же другие блоки в шаблоне выполняются без ошибок кроме блока соединения, что нам говорит что ошибок в самом коде нет.

Вот собственно сам код:
Общий код:
Код:
using MySql.Data;
using MySql.Data.Types;
using MySql.Data.Common;
using MySql.Data.MySqlClient;
using MySql.Data.MySqlClient.Properties;
using MySql.Data.Types;

namespace ZennoLab.OwnCode
{
    /// <summary>
    /// A simple class of the common code
    /// </summary>
    public class CommonCode
    {
        /// <summary>
        /// Lock this object to mark part of code for single thread execution
        /// </summary>
        public static object SyncObject = new object();
        public static string conString = "server=127.0.0.1;uid=root;pwd=root;database=checklist";
        public static MySqlConnection conn = new MySqlConnection(conString);
        public static MySqlCommand command; // MySql Команда
        public static void OpenCon()
        {
            conn.Open();
        }
        public static void CloseCon()
        {
            conn.Close();
        }
       
        // Insert your code here
    }
}
Код активации соединения:
Код:
CommonCode.OpenCon();
Что самое странное такой же аналогичный код на C# вне зенно работает нормально, и обрабатывает данные в БД вполне нормально, но мне нужен чек по БД внутри зенно так как выносить банальный чек по БД наружу не рентабельно.

Кто нибудь сталкивался с подобной проблемой?
 
  • Спасибо
Реакции: bizzon

Veterinar

Client
Регистрация
01.07.2016
Сообщения
194
Благодарностей
22
Баллы
18
По ходу взаимодействие со сторонними библиотеками штука сложная, это я понял баг и не решаемый.
Может хотя бы администрация может ответить на вопрос по этому посту: https://zennolab.com/discussion/threads/vopros-po-rabote-s-bazami-dannyx-cherez-c-snippety.53875/

Как работает внутренний метод самой Zenno по взаимодействию с БД, хотелось бы знать как именно оно открывает соединение и закрывает его так как инфы в документации об этом нет.
 

woober

Client
Регистрация
07.04.2015
Сообщения
211
Благодарностей
123
Баллы
43
А если сделать что-то вроде
public static MySqlConnection mysqlCon (string conString)
{
MySqlConnection conn = new MySqlConnection(conString);
return MySqlConnection;
}
а в самом кубике уже получить объект MySqlConnection, который и можно будет открыть\закрыть, т.е.
MySqlConnection conn = CommonCode.mysqlCon("server=127.0.0.1;uid=root;pwd=root;database=checklist");
conn.Open();
//...
conn.Close();
 

Veterinar

Client
Регистрация
01.07.2016
Сообщения
194
Благодарностей
22
Баллы
18
А если сделать что-то вроде
public static MySqlConnection mysqlCon (string conString)
{
MySqlConnection conn = new MySqlConnection(conString);
return MySqlConnection;
}
а в самом кубике уже получить объект MySqlConnection, который и можно будет открыть\закрыть, т.е.
MySqlConnection conn = CommonCode.mysqlCon("server=127.0.0.1;uid=root;pwd=root;database=checklist");
conn.Open();
//...
conn.Close();
Небольшая ошибочка в return, надо return conn а то просто "тип" нельзя возвращать.

Ну в общем попробовал, хотя ваше предложение это тоже самое по сути, просто метод передается в локальный сниппет.

Zenno как и до этого подумала секунд 5 и вылетела.

Думаю тут какие то внутренние проблемы Zenno по взаимодействию с внешними библиотеками кода, вы пробовали другие библиотеки к ней подключать в вашей работе?

Так как я с библиотеками работал но просто по коду, а именно с зенкой это первый раз подрубаю стороннюю до этого хватало функционала который есть.
 

Veterinar

Client
Регистрация
01.07.2016
Сообщения
194
Благодарностей
22
Баллы
18
Выяснил что это конкретно проблема с библиотекой MySql а не в общем с другими библиотеками. Если бы администрация ответила было бы проще.
Я думаю скорее всего имеет место быть конфликт с стандартными библиотеками Zenno которые тоже взаимодействуют с MySql
 

vrska

Client
Регистрация
07.02.2010
Сообщения
589
Благодарностей
408
Баллы
63
Проблема в вас
Качаете либу с сайта Mysql и кладете ее в папку ExternalAssemblies и папку Progs
 

Veterinar

Client
Регистрация
01.07.2016
Сообщения
194
Благодарностей
22
Баллы
18
Проблема в вас
Качаете либу с сайта Mysql и кладете ее в папку ExternalAssemblies и папку Progs
Если бы я делал не так как вы описали, то может быть я бы мог сказать, и как же это я раньше не подумал что надо добавить библиотеку чтобы работало.

Но увы проблема не в том что я не добавил dll
 

Veterinar

Client
Регистрация
01.07.2016
Сообщения
194
Благодарностей
22
Баллы
18

Veterinar

Client
Регистрация
01.07.2016
Сообщения
194
Благодарностей
22
Баллы
18

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)