Я пытаюсь подключиться к своим компаниям Microsoft SQL через мой отличный код. Используя этот код:

String conn= "jdbc:sqlserver://;servername="+url+";databaseName=central;user=***qa***;password=***mypassword***;"
    def sqlConnection = Sql.newInstance(conn,username,password,"com.microsoft.sqlserver.jdbc.SQLServerDriver")

Это приводит к ошибке:

mgroovy.lang.MissingPropertyException: Нет такого свойства: соединение для класса: sqlKeyWords.checking [0; 39 м [31 м в sqlKeyWords.checking.connectDB (check.groovy: 60) [0; 39 м [31 м в sqlKeyWords.checking.invokeMethod (проверка .groovy) [0; 39м [31м в com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod (CustomKeywordDelegatingMetaClass.java:49) [0; 39м [31м в CreateOrg.run (CreateOrg: 47): 31 м на com.kms.katalon.core.main.ScriptEngine.run (ScriptEngine.java:194) [0; 39 м [31 м на com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText (ScriptEngine.java:119) [ 0; 39 м [31 м в com.kms.katalon.core.main.TestCaseExecutor.runScript (TestCaseExecutor.java:331) [0; 39 м [31 м в com.kms.katalon.core.main.TestCaseExecutor.doExecute (TestCaseExecutor.java) : 322) [0; 39м [31м в com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase (TestCaseExecutor.java:301) [0; 39м [31м в com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase (TestCaseE xecutor.java:293)[0;39m [31 м в com.kms.katalon.core.main.TestCaseExecutor.execute (TestCaseExecutor.java:227) [0; 39 м [31 м в com.kms.katalon.core.main. TestCaseMain.runTestCase (TestCaseMain.java:114) [0; 39 м [31 м в com.kms.katalon.core.main.TestCaseMain.runTestCase (TestCaseMain.java:105) [0; 39 м [31 м в com.kms.katalon. core.main.TestCaseMain $ runTestCase $ 0.call (неизвестный источник) [0; 39 м [31 м в TempTestCase1555589132729.run (TempTestCase1555589132729.groovy: 21)

Эта ошибка не настолько описательна, поэтому вот ошибка, которую я нашел в отладке:

Драйвер не смог установить безопасное соединение с SQL Server с помощью шифрования Secure Sockets Layer (SSL)

Позже я попробовал это из http: //docs.groovy -lang.org/latest/html/api/groovy/sql/Sql.html :

def db = [url:'jdbc:sqlserver:'+url+':central', user:username, password:password, driver:'com.microsoft.sqlserver.jdbc.SQLServerDriver']
def sql = Sql.newInstance(db.url, db.user, db.password, db.driver)

И это привело к:

Не найден подходящий драйвер для jdbc: sqlserver: aaa-sql-qa.database.windows.bbb: dbName

Я видел много ответов, большинство из них говорят, что они играют с брандмауэром сервера, но я могу подключиться к БД через мой код python или через SSMS. Кроме того, у меня нет возможности играть с брандмауэром. Я видел, как использовать jTDS в этот ответ, но я не смог перейти к другим вопросам (конечно, он также не подключился)

0
Tomer 18 Апр 2019 в 15:20

2 ответа

Лучший ответ

Я не знаю почему, но при запуске отладки на линии, где я подключаюсь к отладке, выдается эта ошибка. Это произошло со мной в инструменте автоматизации Katalon (который использует Groovy)

(Конечно, б / к это не работает, я пытался использовать отладку именно там)

0
Tomer 29 Май 2019 в 14:58

http://docs.groovy-lang.org/latest/html/api/groovy/sql/Sql.html

Переменная conn является простой строкой, поэтому вы не отправляете URL при инициализации newInstance. Вместо этого вы отправляете всю строку. попробуйте отправить только URL.

1
Dov Vachman 18 Апр 2019 в 13:13