SQL Server data to Elasticsearch using LogStash

HI

I am tryting to integrate the Sql server data to Elasticsearch with Logstash in my local machine.

I am using the Microsoft Sql Server 2019 and jdbc using the below

--Microsoft JDBC Driver 4.2 for SQL Server

This is my sample config file.

input {

jdbc {

jdbc_driver_library => "C:\Program Files\Microsoft SQL Server\sqljdbc_4.2\enu\jre8\sqljdbc42.jar"

jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"

jdbc_connection_string => "jdbc:sqlserver://localhost;integratedSecurity=true;"

jdbc_data => "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\" 

jdbc_log => "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\"

jdbc_Backup => "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup"

jdbc_user => "DESKTOP-2M19H9R\kogan"

#jdbc_password => "pwd"

#servername => "DESKTOP-2M19H9R"

statement => "SELECT * FROM Persons"

}

}

output {

elasticsearch {

hosts => "localhost:9200"

index => "cs_users"

}

}

when i am running this getting the below error. Please help me.

Error: com.microsoft.sqlserver.jdbc.SQLServerDriver not loaded. :jdbc_driver_library is not set, are you sure you included the proper driver client libraries in your classpath?
Exception: LogStash::PluginLoadingError
Stack: C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/common.rb:36:in load_driver' C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/inputs/jdbc.rb:275:in run'
C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/java_pipeline.rb:374:in inputworker' C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/java_pipeline.rb:365:in block in start_input'
[2020-08-18T15:12:15,745][WARN ][logstash.runner ] SIGINT received. Shutting down.
[2020-08-18T15:12:17,922][INFO ][logstash.javapipeline ] Pipeline terminated {"pipeline.id"=>"main"}
[2020-08-18T15:12:18,007][INFO ][logstash.runner ] Logstash shut down.


C:\elastic_stack\logstash-7.8.1>logstash -f sql.conf

Sending Logstash logs to C:/elastic_stack/logstash-7.8.1/logs which is now configured via log4j2.properties
[2020-08-18T15:28:20,147][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-08-18T15:28:20,266][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.8.1", "jruby.version"=>"jruby 9.2.11.1 (2.5.7) 2020-03-25 b1f55b1a40 Java HotSpot(TM) 64-Bit Server VM 25.261-b12 on 1.8.0_261-b12 +indy +jit [mswin32-x86_64]"}
[2020-08-18T15:28:21,045][INFO ][logstash.config.source.local.configpathloader] No config files found in path {:path=>"C:/elastic_stack/logstash-7.8.1/sql.conf"}
[2020-08-18T15:28:21,072][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2020-08-18T15:28:21,492][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
[2020-08-18T15:28:26,443][INFO ][logstash.runner ] Logstash shut down.

I'd start by verifying this file is located in this folder and the naming is all correct.

Yes aaron, the file naming is all correct.
thanks for replying.

Not sure if this is the issue but try moving your sqljdbc42.jar to logstash-core/lib/jars/' and you can remove 'jdbc_driver_library parameter.

Yes aaron i did the same as you suggested even though it's failing.

with the below error. i have the actual log which created on log folder "C:\elastic_stack\logstash-7.8.1\logs"

[2020-08-19T10:19:18,951][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"C:/elastic_stack/logstash-7.8.1/data/queue"}
[2020-08-19T10:19:19,085][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"C:/elastic_stack/logstash-7.8.1/data/dead_letter_queue"}
[2020-08-19T10:19:19,220][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-08-19T10:19:19,231][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.8.1", "jruby.version"=>"jruby 9.2.11.1 (2.5.7) 2020-03-25 b1f55b1a40 Java HotSpot(TM) 64-Bit Server VM 25.261-b12 on 1.8.0_261-b12 +indy +jit [mswin32-x86_64]"}
[2020-08-19T10:19:19,290][INFO ][logstash.agent ] No persistent UUID file found. Generating new UUID {:uuid=>"286aa382-bfb4-453a-8074-182a08dc1fe3", :path=>"C:/elastic_stack/logstash-7.8.1/data/uuid"}
[2020-08-19T10:19:19,916][INFO ][logstash.config.source.local.configpathloader] No config files found in path {:path=>"C:/elastic_stack/logstash-7.8.1/sample.conf"}
[2020-08-19T10:19:19,964][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2020-08-19T10:19:20,559][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
[2020-08-19T10:19:25,331][INFO ][logstash.runner ] Logstash shut down.
[2020-08-19T10:26:48,277][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-08-19T10:26:48,395][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.8.1", "jruby.version"=>"jruby 9.2.11.1 (2.5.7) 2020-03-25 b1f55b1a40 Java HotSpot(TM) 64-Bit Server VM 25.261-b12 on 1.8.0_261-b12 +indy +jit [mswin32-x86_64]"}
[2020-08-19T10:26:49,086][INFO ][logstash.config.source.local.configpathloader] No config files found in path {:path=>"C:/elastic_stack/logstash-7.8.1/sql.conf"}
[2020-08-19T10:26:49,116][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2020-08-19T10:26:49,516][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
[2020-08-19T10:26:54,488][INFO ][logstash.runner ] Logstash shut down.

You are running the above and it's can't find that file. Is that file in the config folder? If so you would do the below.

logstash -f config/sql.conf

Yes i ran the above command, it;s giving me like this

C:\Users\kogan\Documents\Talend>cd C:\elastic_stack\logstash-7.8.1\config

C:\elastic_stack\logstash-7.8.1\config>logstash -f config/sql.conf
Sending Logstash logs to C:/elastic_stack/logstash-7.8.1/logs which is now configured via log4j2.properties
[2020-08-19T10:54:31,186][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-08-19T10:54:31,300][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.8.1", "jruby.version"=>"jruby 9.2.11.1 (2.5.7) 2020-03-25 b1f55b1a40 Java HotSpot(TM) 64-Bit Server VM 25.261-b12 on 1.8.0_261-b12 +indy +jit [mswin32-x86_64]"}
[2020-08-19T10:54:31,857][INFO ][logstash.config.source.local.configpathloader] No config files found in path {:path=>"C:/elastic_stack/logstash-7.8.1/config/config/sql.conf"}
[2020-08-19T10:54:31,873][ERROR][logstash.config.sourceloader] No configuration found in the configured sources.
[2020-08-19T10:54:32,410][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}
[2020-08-19T10:54:37,356][INFO ][logstash.runner ] Logstash shut down.

It was looking for that file and couldn't find it. So you were probably inside the config folder when you ran the command. Go back one folder and run it.

Or use the absolute path.

logstash -f C:\elastic_stack\logstash-7.8.1\config\sql.conf

Either way look at the error and see where it is trying to find the sql.conf file and adjust.

Here it is after ran the above path. i think there is problem with my laogstash i guess

C:\elastic_stack\logstash-7.8.1\config>logstash -f C:\elastic_stack\logstash-7.8.1\config\sql.conf
Sending Logstash logs to C:/elastic_stack/logstash-7.8.1/logs which is now configured via log4j2.properties
[2020-08-19T11:28:42,051][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-08-19T11:28:42,163][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"7.8.1", "jruby.version"=>"jruby 9.2.11.1 (2.5.7) 2020-03-25 b1f55b1a40 Java HotSpot(TM) 64-Bit Server VM 25.261-b12 on 1.8.0_261-b12 +indy +jit [mswin32-x86_64]"}
[2020-08-19T11:28:44,334][INFO ][org.reflections.Reflections] Reflections took 62 ms to scan 1 urls, producing 21 keys and 41 values
[2020-08-19T11:28:44,594][ERROR][logstash.inputs.jdbc ] Unknown setting 'jdbc_Login' for jdbc
[2020-08-19T11:28:44,596][ERROR][logstash.inputs.jdbc ] Unknown setting 'jdbc_server' for jdbc
[2020-08-19T11:28:44,605][ERROR][logstash.agent ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"Java::JavaLang::IllegalStateException", :message=>"Unable to configure plugins: (ConfigurationError) Something is wrong with your configuration.", :backtrace=>["org.logstash.config.ir.CompiledPipeline.(CompiledPipeline.java:119)", "org.logstash.execution.JavaBasePipelineExt.initialize(JavaBasePipelineExt.java:80)", "org.logstash.execution.JavaBasePipelineExt$INVOKER$i$1$0$initialize.call(JavaBasePipelineExt$INVOKER$i$1$0$initialize.gen)", "org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:837)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:1169)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuperSplatArgs(IRRuntimeHelpers.java:1156)", "org.jruby.ir.targets.InstanceSuperInvokeSite.invoke(InstanceSuperInvokeSite.java:39)", "C_3a_.elastic_stack.logstash_minus_7_dot_8_dot_1.logstash_minus_core.lib.logstash.java_pipeline.RUBY$method$initialize$0(C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/java_pipeline.rb:44)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:82)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)", "org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)", "org.jruby.RubyClass.newInstance(RubyClass.java:939)", "org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207)", "C_3a_.elastic_stack.logstash_minus_7_dot_8_dot_1.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0(C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/pipeline_action/create.rb:52)", "C_3a_.elastic_stack.logstash_minus_7_dot_8_dot_1.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0$VARARGS(C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/pipeline_action/create.rb)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:82)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207)", "C_3a_.elastic_stack.logstash_minus_7_dot_8_dot_1.logstash_minus_core.lib.logstash.agent.RUBY$block$converge_state$2(C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/agent.rb:356)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:138)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:58)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:52)", "org.jruby.runtime.Block.call(Block.java:139)", "org.jruby.RubyProc.call(RubyProc.java:318)", "org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:105)", "java.lang.Thread.run(Unknown Source)"]}
warning: thread "Converge PipelineAction::Create" terminated with exception (report_on_exception is true):
LogStash::Error: Don't know how to handle Java::JavaLang::IllegalStateException for PipelineAction::Create<main>
create at org/logstash/execution/ConvergeResultExt.java:129
add at org/logstash/execution/ConvergeResultExt.java:57
converge_state at C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/agent.rb:369
[2020-08-19T11:28:44,618][ERROR][logstash.agent ] An exception happened when converging configuration {:exception=>LogStash::Error, :message=>"Don't know how to handle Java::JavaLang::IllegalStateException for PipelineAction::Create<main>"}
[2020-08-19T11:28:44,667][FATAL][logstash.runner ] An unexpected error occurred! {:error=>#<LogStash::Error: Don't know how to handle Java::JavaLang::IllegalStateException for PipelineAction::Create<main>>, :backtrace=>["org/logstash/execution/ConvergeResultExt.java:129:in create'", "org/logstash/execution/ConvergeResultExt.java:57:in add'", "C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/agent.rb:369:in `block in converge_state'"]}
[2020-08-19T11:28:44,683][ERROR][org.logstash.Logstash ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit

C:\elastic_stack\logstash-7.8.1\config>

Now you are running the config and you are seeing errors within your .conf file. Can you post your input section and we can start going through that?

Sure, here it is my Input Section.

input {

jdbc {

jdbc_driver_library => "C:/Users/kogan/Downloads/Microsoft JDBC Driver 7.4 for SQL/sqljdbc_7.4/enu"

#Placed my mssql-jdbc-7.4.1.jre8 JRE file in logstash ..\logstash-core\lib\jars\

jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"

jdbc_connection_string => "jdbc:sqlserver://localhost;integratedSecurity=true;"

jdbc_server => "DESKTOP-2M19H9R"

jdbc_Login => "Dell_Canada"

jdbc_password => "Dell123$"

statement => "SELECT * FROM dbo.student"

}

}

output {

elasticsearch {

hosts => "localhost:9200"

index => "cs_users"

}

}

Since i have installed SQL Server locally for practice purpose to achieve it.

Thanks,

Start by heading to the documentation and reading the parameters. See which ones are required and make sure you use those.

The errors you saw above were because those parameters do not exist. jdbc_Login and jdbc_server. Use the default example they give as a template.

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
    jdbc_user => "mysql"
    schedule => "* * * * *"
    statement => "SELECT * from songs where artist = :favorite_artist"
  }
}

Yes aaron, after i remove those now it's little bit progress.

Error: unable to load C:/Users/kogan/Downloads/Microsoft JDBC Driver 7.4 for SQL/sqljdbc_7.4/enu from :jdbc_driver_library, no such file to load -- C:/Users/kogan/Downloads/Microsoft JDBC Driver 7.4 for SQL/sqljdbc_7.4/enu
Exception: LogStash::PluginLoadingError
Stack: C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/common.rb:53:in block in load_driver_jars' org/jruby/RubyArray.java:1809:in each'
C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/common.rb:42:in load_driver_jars' C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/common.rb:25:in load_driver'
C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/inputs/jdbc.rb:275:in run' C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/java_pipeline.rb:374:in inputworker'
C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/java_pipeline.rb:365:in `block in start_input'

Great. Now move on to your next error. Your config is telling Logstash the JDBC driver is located in a spot where it is not. The file should end in .jar extension. So I would locate where this driver is on your file system then update your Logstash configuration to reflect where it is.

Yes i have changed the conf file. and my driver is in the below path.

C:\elastic_stack\logstash-7.8.1\logstash-core\lib\jars
--> mssql-jdbc-7.4.1.jre8

C:\Users\kogan\Downloads\Microsoft JDBC Driver 7.4 for SQL\sqljdbc_7.4\enu ( This is my actual jar file is located) ## Do i need to add this path into environment varible.

java.lang.Thread.run(java/lang/Thread)
[2020-08-19T12:32:23,985][ERROR][logstash.inputs.jdbc ][main][c80f35693d0afd349d49ffa60545a56f9c563b28971f5513a47676a66972ced9] Unable to connect to database. Tried 1 times {:error_message=>"Java::ComMicrosoftSqlserverJdbc::SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:b3c0edb7-3260-4439-8735-c23cfc05fff8"}
[2020-08-19T12:32:23,989][ERROR][logstash.javapipeline ][main][c80f35693d0afd349d49ffa60545a56f9c563b28971f5513a47676a66972ced9] A plugin had an unrecoverable error. Will restart this plugin.
Pipeline_id:main
Plugin: <LogStash::Inputs::Jdbc jdbc_user=>"Dell_Canada", jdbc_password=>, statement=>"SELECT * FROM dbo.student", jdbc_connection_string=>"jdbc:sqlserver://localhost;integratedSecurity=true;", id=>"c80f35693d0afd349d49ffa60545a56f9c563b28971f5513a47676a66972ced9", jdbc_driver_class=>"com.microsoft.sqlserver.jdbc.SQLServerDriver", enable_metric=>true, codec=><LogStash::Codecs::Plain id=>"plain_1d18b17f-40fe-41df-8b26-4bda3c7898a2", enable_metric=>true, charset=>"UTF-8">, jdbc_paging_enabled=>false, jdbc_page_size=>100000, jdbc_validate_connection=>false, jdbc_validation_timeout=>3600, jdbc_pool_timeout=>5, sql_log_level=>"info", connection_retry_attempts=>1, connection_retry_attempts_wait_time=>0.5, plugin_timezone=>"utc", last_run_metadata_path=>"C:\Users\kogan/.logstash_jdbc_last_run", use_column_value=>false, tracking_column_type=>"numeric", clean_run=>false, record_last_run=>true, lowercase_column_names=>true, use_prepared_statements=>false>
Error: Java::ComMicrosoftSqlserverJdbc::SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:b3c0edb7-3260-4439-8735-c23cfc05fff8
Exception: Sequel::DatabaseConnectionError
Stack: com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(com/microsoft/sqlserver/jdbc/SQLServerConnection.java:2924)

This is saying the driver you are using can't use integrated authentication. Try removing that part from your jdbc_connection_string.

jdbc_connection_string => "jdbc:sqlserver://localhost;"

Should i put only this

jdbc_connection_string => "integratedSecurity=true;"

If you open your SQL Server it should tell you what the connection string is. But to answer your question, no. That is the part you want to remove.

I have changed the connection string.. and here it is

jdbc_connection_string => "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Dell"

Error: bad URI(is not URI?): Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=true;Initial Catalog=Dell
Exception: URI::InvalidURIError
Stack: uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/uri/rfc3986_parser.rb:67:in split' uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/uri/rfc3986_parser.rb:73:in parse'
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/uri/common.rb:237:in parse' C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/sequel-5.34.0/lib/sequel/database/connecting.rb:34:in connect'
C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/sequel-5.34.0/lib/sequel/core.rb:125:in connect' C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/jdbc.rb:114:in block in jdbc_connect'
org/jruby/RubyKernel.java:1442:in loop' C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/jdbc.rb:111:in jdbc_connect'
C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/jdbc.rb:139:in open_jdbc_connection' C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/plugin_mixins/jdbc/jdbc.rb:197:in execute_statement'
C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/inputs/jdbc.rb:316:in execute_query' C:/elastic_stack/logstash-7.8.1/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.5/lib/logstash/inputs/jdbc.rb:284:in run'
C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/java_pipeline.rb:374:in inputworker' C:/elastic_stack/logstash-7.8.1/logstash-core/lib/logstash/java_pipeline.rb:365:in block in start_input'

The error is telling you that it is not correct. Are you using SQL Server? Do you have SQL Server Management Studio installed?

Guessing it could be the below. But you will need to get that from your side.

jdbc_connection_string => "jdbc:sqlserver://XXXXX;databaseName=XXX;integratedSecurity=false;"