← Zurück

Hydra + MS SQL server

Приветствую господа алготрейдеры!

Насколько я понял гидра теперь работает только с SQLite? Попробовал ей подставить в конфиге параметры для MS SQL, но фокус не удался. В коде жестко вшита проверка каталога для скулайта и прочее... Хочу для себя переделать сохранение в MS SQL, мне с ним проще разобраться.

Может есть здесь те, кто это уже делал. Подскажите в какую сторону копать, с каких модулей начать изменять, какие там подводные камни?

War dieses Thema hilfreich?

Thema teilen

Kommentare (8)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

а чем ms sql проще sqlite?

Johny Cash
Johny Cash Autor

Alexander Mukhanchikov: а чем ms sql проще sqlite? С sqlite я не сталкивался, а ms sql мне известен как инструмент (работаю с ним по основной профессии). Поэтому и возникла мысль использовать его. Как говорится ничего личного ))

Mikhail Sukhov
Mikhail Sukhov

Johny Cash:

Alexander Mukhanchikov: а чем ms sql проще sqlite? С sqlite я не сталкивался, а ms sql мне известен как инструмент (работаю с ним по основной профессии). Поэтому и возникла мысль использовать его. Как говорится ничего личного ))

Должна уметь. 2 месяца назад Гидра только с MSSQL и работала.

ra81
ra81

Mikhail Sukhov:

Johny Cash:

Alexander Mukhanchikov: а чем ms sql проще sqlite? С sqlite я не сталкивался, а ms sql мне известен как инструмент (работаю с ним по основной профессии). Поэтому и возникла мысль использовать его. Как говорится ничего личного ))

Должна уметь. 2 месяца назад Гидра только с MSSQL и работала.

Не может она уметь. Та же беда у меня.

if (database != null)
{
    var conStr = new DbConnectionStringBuilder { ConnectionString = database.ConnectionString };
    var file = (string)conStr["Data Source"];   // <---- собсна тут баг и есть. 
    file = file.Replace("%Documents%", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));

    file.CreateDirIfNotExists();

    if (!File.Exists(file))
        File.WriteAllBytes(file, Properties.Resources.StockSharp);

    conStr["Data Source"] = file;
    database.ConnectionString = conStr.ToString();
}
pyhta4og
pyhta4og

ra81:

Mikhail Sukhov:

Johny Cash:

Alexander Mukhanchikov: а чем ms sql проще sqlite? С sqlite я не сталкивался, а ms sql мне известен как инструмент (работаю с ним по основной профессии). Поэтому и возникла мысль использовать его. Как говорится ничего личного ))

Должна уметь. 2 месяца назад Гидра только с MSSQL и работала.

Не может она уметь. Та же беда у меня.

if (database != null) { var conStr = new DbConnectionStringBuilder ; var file = (string)conStr["Data Source"]; // <---- собсна тут баг и есть. file = file.Replace("%Documents%", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));

file.CreateDirIfNotExists();

if (!File.Exists(file))
    File.WriteAllBytes(file, Properties.Resources.StockSharp);

conStr["Data Source"] = file;
database.ConnectionString = conStr.ToString();

}


в последней версии дев-ветки уже 

if (database != null && database.Provider!=null && database.Provider is Ecng.Data.Providers.SQLiteDatabaseProvider)


обновитесь.
Johny Cash
Johny Cash Autor

ra81:

Mikhail Sukhov:

Johny Cash:

Alexander Mukhanchikov: а чем ms sql проще sqlite? С sqlite я не сталкивался, а ms sql мне известен как инструмент (работаю с ним по основной профессии). Поэтому и возникла мысль использовать его. Как говорится ничего личного ))

Должна уметь. 2 месяца назад Гидра только с MSSQL и работала.

Не может она уметь. Та же беда у меня. ...

Попробуйте внести следующие изменения в файл Hydra.exe.config

  1. Изменить в файле параметр connectionString (в Гидре база по умолчанию SQLite надо заменить на SQL Server ) <param name="connectionString"> <value value="SqlServerConStr" typeConverter="Ecng.Configuration.ConnectionSettingsTypeConverter, Ecng.Configuration"/> </param>

  2. <!-- Для других баз данных провайдер необходимо поменять --> <property name="Provider"> <dependency type="Ecng.Data.SqlServerDatabaseProvider, Ecng.Data" /> </property>

Макс
Макс

Не работает 4.1 с MSSQL

Поставил MSSQL, создал скриптом базу, перезапустил. Поменял в Hydra.exe.config


						<constructor>
							<param name="name" value="Hydra Database"/>
							<param name="connectionString">
								<!-- По умолчанию используется SQLite 
								<value value="SQLiteConStr" typeConverter="Ecng.Configuration.ConnectionSettingsTypeConverter, Ecng.Configuration"/>
								-->
								<value value="SqlServerConStr" typeConverter="Ecng.Configuration.ConnectionSettingsTypeConverter, Ecng.Configuration"/>
							</param>
						</constructor>

Ветки dev, trunk, 4.023

Помогите плиз, кто решил этот вопрос.

ra81
ra81

Макс: Не работает 4.1 с MSSQL

Поставил MSSQL, создал скриптом базу, перезапустил. Поменял в Hydra.exe.config

					<constructor>
						<param name="name" value="Hydra Database"/>
						<param name="connectionString">
							<!-- По умолчанию используется SQLite 
							<value value="SQLiteConStr" typeConverter="Ecng.Configuration.ConnectionSettingsTypeConverter, Ecng.Configuration"/>
							-->
							<value value="SqlServerConStr" typeConverter="Ecng.Configuration.ConnectionSettingsTypeConverter, Ecng.Configuration"/>
						</param>
					</constructor>
> 
> Ветки dev, trunk, 4.023
> 
> Помогите плиз, кто решил этот вопрос.

Там раньше вообще в коде гидры было закодировано тока SQLite использовать. В коде главного окошка. Где-то тут даже приводился код. Я лично забил, все равно сами данные по факту падают не в базу а в файлы. В базу падает только капля информации. Переносить базу на SQLite куда проще вместе с тиками чем если бы у вас была мс скульная база.