diff --git a/oscript-sql/DBConnector.cs b/oscript-sql/DBConnector.cs index 093b8a5..a45a7d1 100644 --- a/oscript-sql/DBConnector.cs +++ b/oscript-sql/DBConnector.cs @@ -239,17 +239,8 @@ public bool Open() } _connection = new SQLiteConnection(string.Format("Data Source={0};", filePath)); if (System.IO.File.Exists(DbName)) - { - try - { - _connection.Open(); - return true; - } - catch (Exception e) - { - Console.WriteLine(e.Message); - return false; - } + { + return OpenConnection(); } else @@ -292,7 +283,7 @@ public bool Open() _connection.ConnectionString = _connectionString; } - _connection.Open(); + return OpenConnection(); } else if (DbType == (new EnumDBType()).MySQL) { @@ -306,7 +297,7 @@ public bool Open() _connectionString += (_port != 0 ? "port=" + _port.ToString() + ";" : ""); } _connection = new MySqlConnection(_connectionString); - _connection.Open(); + return OpenConnection(); } else if (DbType == (new EnumDBType()).PostgreSQL) { @@ -320,11 +311,25 @@ public bool Open() _connectionString += (_port != 0 ? "port=" + _port.ToString() + ";" : ""); } _connection = new NpgsqlConnection(_connectionString); - _connection.Open(); + return OpenConnection(); } return false; - } - + } + + private bool OpenConnection() + { + try + { + _connection.Open(); + return true; + } + catch (Exception e) + { + Console.WriteLine(e.Message); + return false; + } + } + /// /// Закрыть соединение с БД /// diff --git a/oscript-sql/oscript-sql.csproj b/oscript-sql/oscript-sql.csproj index 968e385..a474a12 100644 --- a/oscript-sql/oscript-sql.csproj +++ b/oscript-sql/oscript-sql.csproj @@ -68,21 +68,18 @@ ..\packages\MySql.Data.6.9.9\lib\net45\MySql.Data.dll True - - ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - True + + ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll ..\packages\Npgsql.3.1.9\lib\net45\Npgsql.dll True - - ..\packages\OneScript.1.0.15\lib\net40\ScriptEngine.dll - True + + ..\packages\OneScript.1.0.17\lib\net40\ScriptEngine.dll - - ..\packages\OneScript.StandardLibrary.1.0.15\lib\net40\ScriptEngine.HostedScript.dll - True + + ..\packages\OneScript.StandardLibrary.1.0.17\lib\net40\ScriptEngine.HostedScript.dll @@ -110,7 +107,6 @@ - diff --git a/oscript-sql/packages.config b/oscript-sql/packages.config index c35f6b9..24d414d 100644 --- a/oscript-sql/packages.config +++ b/oscript-sql/packages.config @@ -3,10 +3,10 @@ - + - - + + diff --git a/tests/test-ms-sql-server.os b/tests/test-ms-sql-server.os index f3a326e..f326637 100644 --- a/tests/test-ms-sql-server.os +++ b/tests/test-ms-sql-server.os @@ -31,6 +31,7 @@ юТест = Тестирование; СписокТестов = Новый Массив; + СписокТестов.Добавить("Тест_Должен_ПроверитьСоединение" + СуфикМетодов); СписокТестов.Добавить("Тест_Должен_СоздатьТаблицу" + СуфикМетодов); СписокТестов.Добавить("Тест_Должен_ДобавитьСтроки" + СуфикМетодов); СписокТестов.Добавить("Тест_Должен_ДолженИзменитьСтроки" + СуфикМетодов); @@ -41,6 +42,21 @@ КонецФункции +Процедура Тест_Должен_ПроверитьСоединение() Экспорт + СтрокаСоединения = ПолучитьТекстИзФайла("fixtures\ms-sql-server-con-str.txt"); + + Соединение = Новый Соединение(); + Соединение.ТипСУБД = Соединение.ТипыСУБД.MSSQLServer; + Соединение.СтрокаСоединения = СтрокаСоединения; + + Результат = Соединение.Открыть(); + + Ожидаем.Что(Результат).Равно(Результат); + + Соединение.Закрыть(); + +КонецПроцедуры + Процедура Тест_Должен_СоздатьТаблицу() Экспорт СтрокаСоединения = ПолучитьТекстИзФайла("fixtures\ms-sql-server-con-str.txt");