﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.com/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Гидра + MS SQL 2008 R2</title>
  <id>~/topic/3048/gidra--ms-sql-2008-r2/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-21T11:10:48Z</updated>
  <logo>https://stocksharp.com/images/logo.png</logo>
  <link href="https://stocksharp.com/handlers/atom.ashx?category=topic&amp;id=3048" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.com/posts/m/21650/</id>
    <title type="text">DrChemist: К стати, в конце концов мне удалось запустить Гидру с MS SQL. Однако биржевые потоки Гидр...</title>
    <published>2012-10-02T18:30:45Z</published>
    <updated>2012-10-02T18:30:45Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(21647)" rel="nofollow" target="_blank"&gt;DrChemist&lt;/a&gt;:&lt;/strong&gt;
К стати, в конце концов мне удалось запустить Гидру с MS SQL. Однако биржевые потоки Гидра по-прежнему пишет в файлы *.bin во внутренних каталогах типа «SBER@QJSIM». Я надеялся, что потоки будут направляться в ту же базу MS SQL. Это можно как-то настроить? Если нет, то все очень сильно усложняется…&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Экспорт в БД.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/21647/</id>
    <title type="text">Мне нужно сохранять исторические данные сделки+стаканы. При этом хочется обеспечить максимально возм...</title>
    <published>2012-10-02T17:29:11Z</published>
    <updated>2012-10-02T17:29:11Z</updated>
    <author>
      <name>DrChemist</name>
      <uri>https://stocksharp.com/users/6376/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Мне нужно сохранять исторические данные сделки+стаканы.
При этом хочется обеспечить максимально возможную сохранность записанных данных. Чтобы сбои в Гидре не приводили к какой-либо коррупции или потере ранее записанных данных.
Хочется достичь максимально возможной стабильности работы связки  Гидра+База при длительной работе.  В стабильности MS SQL я более-менее уверен, а вот про SQLite мне мало что известно. Стабильность самой гидры, понятно, остается за скобками.
Необходимо будет обеспечить  параллельную работу Гидры на запись и торгового робота, который будет обращаться к базе за историческими данными.
Не исключено,  что потребуется работа нескольких гидр параллельно, записывающих потоки биржевых данных из нескольких источников.
Ну и еще MS SQL знаю значительно лучше.&lt;/p&gt;
&lt;p&gt;Примерно так.&lt;/p&gt;
&lt;p&gt;К стати, в конце концов мне удалось запустить Гидру с MS SQL. Однако биржевые потоки Гидра по-прежнему пишет в файлы *.bin во внутренних каталогах типа «SBER@QJSIM». Я надеялся, что потоки будут направляться в ту же базу MS SQL. Это можно как-то настроить? Если нет, то все очень сильно усложняется…&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/21631/</id>
    <title type="text">Лучше вы скажите, чего ожидаете от Гидра+MSSQL. Может и огорода городить не придется. </title>
    <published>2012-10-01T19:17:06Z</published>
    <updated>2012-10-01T19:17:06Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Лучше вы скажите, чего ожидаете от Гидра+MSSQL. Может и огорода городить не придется.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/21630/</id>
    <title type="text">Михаил, спасибо что ответили. Модифицировать скрипт я попытаюсь. Однако хотелось бы знать планы разр...</title>
    <published>2012-10-01T18:48:50Z</published>
    <updated>2012-10-01T18:49:47Z</updated>
    <author>
      <name>DrChemist</name>
      <uri>https://stocksharp.com/users/6376/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Михаил, спасибо что ответили.
Модифицировать скрипт я попытаюсь.&lt;/p&gt;
&lt;p&gt;Однако хотелось бы знать планы разработчиков насчет поддержки MS SQL&lt;/p&gt;
&lt;p&gt;Планируете ли Вы в дальнейшем уделять внимание поддержке MS SQL или вы окончательно и бесповоротно переходите на SQLite?
И еще, какова последняя версия S# и Гидры, которые еще в полном объеме поддерживает MS SQL?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/21607/</id>
    <title type="text">С тех пор, как перешли на SQLite, скрипт для MSSQL стал медленно, но верно расходится с последними и...</title>
    <published>2012-10-01T09:49:11Z</published>
    <updated>2012-10-01T09:49:11Z</updated>
    <author>
      <name>Mikhail Sukhov</name>
      <uri>https://stocksharp.com/users/201/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;С тех пор, как перешли на SQLite, скрипт для MSSQL стал медленно, но верно расходится с последними изменениями в Гидре. Если с БД на ты, то можно самостоятельно поправить его.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/21606/</id>
    <title type="text">Попробуйте сделать alter database set QUOTED_IDENTIFIER ON Возможно придется еще пересоздать схему. ...</title>
    <published>2012-10-01T05:03:12Z</published>
    <updated>2012-10-01T05:03:12Z</updated>
    <author>
      <name>guest13</name>
      <uri>https://stocksharp.com/users/6116/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Попробуйте сделать
alter database set QUOTED_IDENTIFIER ON&lt;/p&gt;
&lt;p&gt;Возможно придется еще пересоздать схему.
И как вариант посмотреть что в настройках ODBC:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms174393.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/library/ms174393.aspx&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The SQL Server Native Client ODBC driver and SQL Server Native Client OLE DB Provider for SQL Server automatically set QUOTED_IDENTIFIER to ON when connecting. This can be configured in ODBC data sources, in ODBC connection attributes, or OLE DB connection properties. The default for SET QUOTED_IDENTIFIER is OFF for connections from DB-Library applications.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.com/posts/m/21605/</id>
    <title type="text">Второй день долблюсь – пытаюсь настроить связку с MSSQL, и не удается. Использую MS SQL 2008 R2 stan...</title>
    <published>2012-09-30T20:12:14Z</published>
    <updated>2012-09-30T20:12:14Z</updated>
    <author>
      <name>DrChemist</name>
      <uri>https://stocksharp.com/users/6376/</uri>
      <email>info@stocksharp.com</email>
    </author>
    <content type="html">&lt;p&gt;Второй день долблюсь – пытаюсь настроить связку с MSSQL, и не удается.
Использую MS SQL 2008 R2 standard.
Гидра 4.1.4
Базу создал скриптом trading.sql  (взял с stocksharp.codeplex.com, dev/Documentation)
Скрипт отработал нормально. База создалась, проблем не было.
Добиться того, чтобы Гидра хоть как-то цеплялась к базе мне удалось только в такой конфигурации (из файла Hydra.exe.config):&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&amp;lt;connectionStrings&amp;gt;
&amp;lt;add name=&amp;quot;SqlServerConStr&amp;quot; connectionString=&amp;quot;Server=(local);Database=Trading;User ID=trading;Password=trading;&amp;quot; providerName=&amp;quot;&amp;quot;/&amp;gt;
&amp;lt;/connectionStrings&amp;gt;&lt;/p&gt;
&lt;p&gt;……………..
&amp;lt;param name=&amp;quot;connectionString&amp;quot;&amp;gt;
&amp;lt;value value=&amp;quot;SqlServerConStr&amp;quot; typeConverter=&amp;quot;Ecng.Configuration.ConnectionSettingsTypeConverter, Ecng.Configuration&amp;quot;/&amp;gt;
&amp;lt;/param&amp;gt;&lt;/p&gt;
&lt;h2 id="property-nameprovider-dependency-typeecng.data.providers.sqlitedatabaseprovider-ecng.data.providers-dependency-typeecng.data.sqlserverdatabaseprovider-ecng.data-property"&gt;……………..
&amp;lt;property name=&amp;quot;Provider&amp;quot;&amp;gt;
&amp;lt;!--&amp;lt;dependency type=&amp;quot;Ecng.Data.Providers.SQLiteDatabaseProvider, Ecng.Data.Providers&amp;quot; /&amp;gt;--&amp;gt;
&amp;lt;dependency type=&amp;quot;Ecng.Data.SqlServerDatabaseProvider, Ecng.Data&amp;quot; /&amp;gt;
&amp;lt;/property&amp;gt;&lt;/h2&gt;
&lt;p&gt;Остальные конфигурации не трогал
При запуске гидра валится на этом коде:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;private void InitializeDataSource()
{
_storageRegistry = new StorageRegistry();
ConfigManager.RegisterService(_storageRegistry);&lt;/p&gt;
&lt;h2 id="if_entityregistry.exchanges.count-4_entityregistry.exchanges.saveexchange.test_entityregistry.exchanges.saveexchange.micex_entityregistry.exchanges.saveexchange.rts_entityregistry.exchanges.saveexchange.ux"&gt;……………..
if (_entityRegistry.Exchanges.Count &amp;lt; 4)
{
_entityRegistry.Exchanges.Save(Exchange.Test);   &amp;lt;= Здесь валимся
_entityRegistry.Exchanges.Save(Exchange.Micex);
_entityRegistry.Exchanges.Save(Exchange.Rts);
_entityRegistry.Exchanges.Save(Exchange.Ux);
}&lt;/h2&gt;
&lt;p&gt;Поначалу эксепшен говори о том, что нет прав для INSERT операции. Проверил – действительно, скрипт создавал пользователя trading без прав. Тал пользователю trading все права на базу Trading. Но это помогло не сильно. После этого эксепшен стал другой:&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id="error-stocksharpsystem.data.sqlclient.sqlexception-0x80131904-invalid-column-name-timezoneinfo.at-system.data.sqlclient.sqlconnection.onerrorsqlexception-exception-boolean-breakconnection-at-system.data.sqlclient.sqlinternalconnection.onerrorsqlexception-exception-boolean-breakconnection-at-system.data.sqlclient.tdsparser.throwexceptionandwarning-at-system.data.sqlclient.tdsparser.runrunbehavior-runbehavior-sqlcommand-cmdhandler-sqldatareader-datastream-bulkcopysimpleresultset-bulkcopyhandler-tdsparserstateobject-stateobj-at-system.data.sqlclient.sqlcommand.finishexecutereadersqldatareader-ds-runbehavior-runbehavior-string-resetoptionsstring-at-system.data.sqlclient.sqlcommand.runexecutereadertdscommandbehavior-cmdbehavior-runbehavior-runbehavior-boolean-returnstream-boolean-async-at-system.data.sqlclient.sqlcommand.runexecutereadercommandbehavior-cmdbehavior-runbehavior-runbehavior-boolean-returnstream-string-method-dbasyncresult-result-at-system.data.sqlclient.sqlcommand.internalexecutenonquerydbasyncresult-result-string-methodname-boolean-sendtopipe-at-system.data.sqlclient.sqlcommand.executenonquery-at-ecng.data.databasecommand.executenonqueryb_6dbcommand-cmd-at-ecng.data.databasecommand.c_displayclass41.executeb_1dbconnection-connection-at-ecng.data.database.getconnectionaction1-action-at-ecng.data.databasecommand.executetresultienumerable1-input-func2-handler-at-ecng.data.databasecommand.executenonqueryserializationitemcollection-input-at-ecng.data.database.executedatabasecommand-command-serializationitemcollection-source-boolean-needretval-at-ecng.data.database.createdatabasecommand-command-serializationitemcollection-input-boolean-needretval-at-ecng.data.database.c_displayclassc1.createb_b-at-ecng.data.database.createtentitytentity-entity-at-ecng.data.database.ecng.serialization.istorage.addtentitytentity-entity-at-ecng.serialization.relationmanylist1.onaddtentity-entity-at-ecng.data.hierarchicalpageloadlist1.onaddtentity-entity-at-ecng.serialization.relationmanylist1.addtentity-item-at-stocksharp.algo.storages.basestorageentitylist1.savet-entity-at-stocksharp.hydra.mainwindow.initializedatasource-in-dworkstocksharpstocksharp_4.1.4_sources.uphydrahydramainwindow.xaml.csline-160-at-stocksharp.hydra.mainwindow.mainwindowloadedb_21-in-dworkstocksharpstocksharp_4.1.4_sources.uphydrahydramainwindow.xaml.csline-483-at-system.threading.tasks.task1.invokefutureobject-futureasobj-at-system.threading.tasks.task.innerinvoke-at-system.threading.tasks.task.execute"&gt;2012-10-01 00:03:55.073|Error  |StockSharp|System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'TimeZoneInfo'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Ecng.Data.DatabaseCommand.&amp;lt;ExecuteNonQuery&amp;gt;b__6(DbCommand cmd)
at Ecng.Data.DatabaseCommand.&amp;lt;&amp;gt;c__DisplayClass4&lt;code&gt;1.&amp;lt;Execute&amp;gt;b__1(DbConnection connection) at Ecng.Data.Database.GetConnection(Action&lt;/code&gt;1 action)
at Ecng.Data.DatabaseCommand.Execute[TResult](IEnumerable&lt;code&gt;1 input, Func&lt;/code&gt;2 handler)
at Ecng.Data.DatabaseCommand.ExecuteNonQuery(SerializationItemCollection input)
at Ecng.Data.Database.Execute(DatabaseCommand command, SerializationItemCollection source, Boolean needRetVal)
at Ecng.Data.Database.Create(DatabaseCommand command, SerializationItemCollection input, Boolean needRetVal)
at Ecng.Data.Database.&amp;lt;&amp;gt;c__DisplayClassc&lt;code&gt;1.&amp;lt;Create&amp;gt;b__b() at Ecng.Data.Database.Create[TEntity](TEntity entity) at Ecng.Data.Database.Ecng.Serialization.IStorage.Add[TEntity](TEntity entity) at Ecng.Serialization.RelationManyList&lt;/code&gt;1.OnAdd(TEntity entity)
at Ecng.Data.HierarchicalPageLoadList&lt;code&gt;1.OnAdd(TEntity entity) at Ecng.Serialization.RelationManyList&lt;/code&gt;1.Add(TEntity item)
at StockSharp.Algo.Storages.BaseStorageEntityList&lt;code&gt;1.Save(T entity) at StockSharp.Hydra.MainWindow.InitializeDataSource() in D:\Work\StockSharp\StockSharp_4.1.4_Sources.Up\Hydra\Hydra\MainWindow.xaml.cs:line 160 at StockSharp.Hydra.MainWindow.&amp;lt;MainWindowLoaded&amp;gt;b__21() in D:\Work\StockSharp\StockSharp_4.1.4_Sources.Up\Hydra\Hydra\MainWindow.xaml.cs:line 483 at System.Threading.Tasks.Task&lt;/code&gt;1.InvokeFuture(Object futureAsObj)
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()&lt;/h2&gt;
&lt;p&gt;Пытался добавить колонку TimeZoneInfo в таблицу Exchange. Вроде проходило, но потом опять где-то что-то ломалось.
В общем, что-то делаю не так.
Подскажите, люди добрые, как же подцепится-то к MSSQL базе.&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>