Подключение MSSQL с использованием сессии в С#

  • Автор темы Автор темы biryukovm
  • Дата начала Дата начала

biryukovm

Client
Регистрация
19.05.2019
Сообщения
152
Реакции
10
Баллы
18
Привет всем.
Подскажите может кто уже что то делал подобное, нет случаем ни у кого подобного кода для подключения к MSSQL в сессии для многоптока

У меня сейчас настроено все на MySql (сделал на основе этой статьи) но это не всегда удобно особенно если речь идет о крупном проекте и требуется очень быстро обращение, легче обращаться к локальной машине, да и MySql не подходит для больших многомилионных обработок
 
я использую mssql. техника такая же как с mysql.
res = ZennoPoster.Db.ExecuteQuery(
sql,
null,
ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.SqlClient,
connectionString,
fieldSeparator
);
 
я использую mssql. техника такая же как с mysql.
res = ZennoPoster.Db.ExecuteQuery(
sql,
null,
ZennoLab.InterfacesLibrary.Enums.Db.DbProvider.SqlClient,
connectionString,
fieldSeparator
);
Это больше похоже на подключение через кубик а я про другое что то типа такого
тем более в вашем коде я думаю не смогу развернуть сессию из запросов, а сделать только разовое обращение

C#:
Развернуть Свернуть Копировать
SqlConnection connection = new SqlConnection();
connection.ConnectionString = "Data Source=(local);Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=sasa";
// как вариант для только локального соединения:
//connection.ConnectionString = "Data Source=(LOCAL);Initial Catalog=Table1;Integrated Security=True";
connection.Open();
SqlDataAdapter ColumnA1 = new SqlDataAdapter("SELECT * FROM tab", connection);

DataSet ds = new DataSet();
ColumnA1.Fill(ds, "A1");
foreach(DataRow row in ds.Tables["A1"].Rows){
    return row.ItemArray.ToString();
}
    
    
    
//comboBox1.Items.Add(row.ItemArray.ToString());
connection.Close();
--- Пока это к чему я пришел
 
У меня есть уже аналогичное https://zennolab.com/discussion/thr...ablic-poluchenie-id-dobavlennoj-zapisi.53728/ работает также радует что используется ссесия в ней


Но как и писал разницу MySql и MS Sql -у них разница в производительности большая так как один работает под серверы вертуальных машин другой под локальные в основе
 
У меня связка MS Sql + зеннопостер работала очень не стабильно :ak:, постоянно повреждалась БД, скорей всего по моей вине.
Возможно. Но в вашем случаем рекомендую:
1 - проверить HDD на дефекты ячеек памяти так как MS SQL любит частое перезаписывать
2 - Query Analyzer возможна там найдете проблему в ваших запросах и дерганьях БД надо поймать момент когда ломается БД
3 - проверьте на вирусы мало ли может какой то софт каннектится и все Вам ламает

Вообще по своей практики я более стабильной БД пока не замечал с MS Sql у меня проблем не было, а базы били под гиг 500 и выполнялись в секунды запросы, это на много быстрее чем работать с MySQl
 
  • Спасибо
Реакции: Koqpe
Раз уж здесь есть тема для mysql, то подскажите люди добрые ответ на следующий вопрос.
Задача простейшая, обновить столбец +1
код примерно такой
UPDATE `counter` SET `counter`=`counter`+1 WHERE `date`="2020-04-22";
Кубик выполняет успешно, но обновления не проходит.
 
Раз уж здесь есть тема для mysql, то подскажите люди добрые ответ на следующий вопрос.
Задача простейшая, обновить столбец +1
код примерно такой
UPDATE `counter` SET `counter`=`counter`+1 WHERE `date`="2020-04-22";
Кубик выполняет успешно, но обновления не проходит.
SQL запрос у Вас верный по логики но вот вопрос counter относится к параметру AUTO_INCREMENT ? если да то такой вариант не подойдет
 
SQL запрос у Вас верный по логики но вот вопрос counter относится к параметру AUTO_INCREMENT ? если да то такой вариант не подойдет
Нет. нет. Там не инкремент. Там просто значение тип данных INT
 
Нет. нет. Там не инкремент. Там просто значение тип данных INT
тогда проблем не вижу, попробуйте выполнить SQL запрос вне программы ZennoPoster как работали до этого, возможно есть ошибка при запросе в столбцах или еще чего
 
Нашел ошибку, я не передавал параметр, какую таблицу делаем апдейт
UPDATE `counter` SET `counter`=`counter`+1 WHERE `date`="2020-04-22";
а должно быть.
UPDATE `temp_for_update` SET counter=counter+1 WHERE `date`="2020-04-22";
 
Нашел ошибку, я не передавал параметр, какую таблицу делаем апдейт
UPDATE `counter` SET `counter`=`counter`+1 WHERE `date`="2020-04-22";
а должно быть.
UPDATE `temp_for_update` SET counter=counter+1 WHERE `date`="2020-04-22";
ну вот, а то откуда мы знаем может у Вас и столбик и таблица имеют одно название `counter`
 
Раз уж здесь есть тема для mysql, то подскажите люди добрые ответ на следующий вопрос.
Задача простейшая, обновить столбец +1
код примерно такой
UPDATE `counter` SET `counter`=`counter`+1 WHERE `date`="2020-04-22";
Кубик выполняет успешно, но обновления не проходит.
Разве литерал даты задается в двойных кавычках?
 
Это больше похоже на подключение через кубик а я про другое что то типа такого
тем более в вашем коде я думаю не смогу развернуть сессию из запросов, а сделать только разовое обращение

C#:
Развернуть Свернуть Копировать
SqlConnection connection = new SqlConnection();
connection.ConnectionString = "Data Source=(local);Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=sasa";
// как вариант для только локального соединения:
//connection.ConnectionString = "Data Source=(LOCAL);Initial Catalog=Table1;Integrated Security=True";
connection.Open();
SqlDataAdapter ColumnA1 = new SqlDataAdapter("SELECT * FROM tab", connection);

DataSet ds = new DataSet();
ColumnA1.Fill(ds, "A1");
foreach(DataRow row in ds.Tables["A1"].Rows){
    return row.ItemArray.ToString();
}
  
  
  
//comboBox1.Items.Add(row.ItemArray.ToString());
connection.Close();
--- Пока это к чему я пришел

Доброго времени!
Выдается сообщение namespace 'SqlConnection' could not be found
Похоже чего то недоставлено. Подскажите чего не хватает и где можно скачать. VisualStudio 2019 установлена.
На кабиках ZP сделано подключение к MS SQL, но оно очень медленным оказалось и каждый кубик делает новое подключение. Вижу решение в написании аналогичного кода через кубик на C#. Но вот с подключением что пошло не так...
 

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