Здравствуйте уважаемые системные администраторы. Разблокируйте меня пожалуйста! Я робота своего создавал, никого не трогал. ПО пишу на C# с использованием коннектора QUIKSharp (это открытый исходный код на GitHub) надеюсь вы с ним знакомы. Если же нет вот ссылка можете ознакомиться. https://github.com/finsight/QUIKSharp. Естественно что в процессе написания кода и его отладки приходится постоянно отключаться, подключаться и переподключаться к серверу. Всё шло хорошо, я исправно подключался, ничего не предвещало беды! Норадость полёта програмисткой мысли оказалась недолгой в этот день, так как, вдруг я получаю следующее исключение:
Вызвано исключение: "System.Net.Sockets.SocketException" в System.dll Программа "[8876] RobotDemo.exe" завершилась с кодом -1 (0xffffffff).
Смысл этой ошибки следующий: СЕРВЕР НЕ ОТВЕЧАЕТ! Подключение происходит по дефолтному хосту и порту. Вот два отрывка кода:
public const int DefaultPort = 34130; /// <summary> /// localhost /// </summary> public const string DefaultHost = "127.0.0.1"; /// <summary> /// Quik interface in .NET constructor /// </summary> public Quik(int port = DefaultPort, IPersistentStorage storage = null, string host = DefaultHost) { Storage = storage == null ? new InMemoryStorage() : storage; QuikService = QuikService.Create(port, host); // poor man's DI QuikService.Storage = Storage; Events = QuikService.Events; Debug = new DebugFunctions(port, host); Service = new ServiceFunctions(port, host); Class = new ClassFunctions(port, host); OrderBook = new OrderBookFunctions(port, host); Trading = new TradingFunctions(port, host); StopOrders = new StopOrderFunctions(port, this, host); Orders = new OrderFunctions(port, this, host); Candles = new CandleFunctions(port, host); QuikService.Candles = Candles; QuikService.StopOrders = StopOrders; QuikService.WorkingFolder = Service.GetWorkingFolder().Result; }
private void ButtonConnect_Click(object sender, RoutedEventArgs e) { try { LogTextBox.AppendText($"Подключаемся к терминалу Quik {Environment.NewLine}"); _quik = new Quik(Quik.DefaultPort, new InMemoryStorage()); // инициализируем объект quik с использованием локального расположения терминала (по умолчанию) } catch { LogTextBox.AppendText($"Ошибка инициализации объекта {Environment.NewLine}"); }
Правда, должен признать, что сам терминал продолжает поддерживать подключение с сервером и исправно получает котировки.
На сколько я понял меня заблокировали из-за частых переподключений. Хотел бы иметь возможность продолжать работу далее если уважаемые системные администраторы будут не против. А ещё хотел бы получить рекомендацию по поводу того, как избежать данных проблем в будущем. Благодарю за понимание и оперативный ответ))).
Здравствуйте, мне нужна консультация по таблицы обезличенных сделок по ODBC в мою БД созданную в MS SQL. Проблема заключается в следующем:
При попытке выбора таблицы в Квике выводит следующие ошибки: Ошибка ODBC при инициализации получения списка полей таблицы Не удалось найти сервер «имя моего сервера» в sys.servers. Убедитесь, что указано правильное имя сервера. Если необходимо, выполните хранимую процедуру sp_addlinkedserver, чтобы добавить сервер в sys.servers. код ошибки 7202
Заявление было прекращено код ошибки 3621
Однако, если я создаю ту же таблицу в БД "MASTER" эти проблемы отсутствуют, но ошибка вываливается когда заканчиваются строки в процессе вывода. Я где-то читал, сейчас уже не могу найти, что БД "MASTER"
не подходит для такого рода вывода. Я, так понимаю здесь есть два пути решения проблемы, исправить проблему с количеством строк в БД "MASTER", либо перенастроить мою БД для вывода, но я не могу найти информацию в интернете ни по тому, ни по другому поводу.
В чём мои ошибки? Ну или выложите пожалуйста подробную инструкцию по созданию БД и таблицы, как у себя. Обязательные столбцы для моей таблицы (которые я хочу видеть) - Номер, Время, Бумага, Цена, Кол-во, Операция, Объем.
И ещё вопрос: как быть с первой безымянной колонкой в неё * записать или пустой оставлять? пробовал и то и то. В мастере без разницы.