0

我正在尝试将 MS SQL 驱动程序与带有本地数据流服务器的 jdbc 应用程序一起使用 jdbc --url='jdbc:sqlserver://server' --driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver

正如预期的那样,驱动程序不在类路径中,我 Cannot load driver class: com.microsoft.sqlserver.jdbc.SQLServerDriver在部署流时得到。

我还尝试使用 -cp 参数调用数据流服务器:

java -cp "C:\path\to\msjdbc.jar " -jar spring-cloud-dataflow-server-local-1.0.1.RELEASE.jar- 结果相同。

任何人都可以帮助解决这个问题吗?

谢谢

4

2 回答 2

1

数据流服务器在单独的local进程中生成应用程序,并且不使用应用程序的类路径资源。因此,我认为您需要将驱动程序添加到jdbc应用程序路径中。或者,您可以尝试在部署流时设置classpath本地部署者部署属性。app指定spring.cloud.deployer.local.classpath属性时,spring.cloud.deployer.local.main还需要指定属性。

流创建 a1 --definition "时间 | jdbc"

流部署 a1 --properties "app.jdbc.spring.cloud.deployer.local.classpath=/temp/myclasspath,app.jdbc.spring.cloud.deployer.local.main="

于 2016-11-08T13:29:28.483 回答
0

感谢您的建议 Ilayaperumal Gopinathan,它帮助我解决了这个问题。看起来app.jdbc.spring.cloud.deployer.local.classpathand的使用app.jdbc.spring.cloud.deployer.local.main是未记录的功能,它对我不起作用(至少在 1.0.1.Release 中)

我已经设法修补了预构建的 jdbc 启动器,并在http://docs.spring.io/spring-cloud-stream-app-starters/docs/current-SNAPSHOT/reference/htmlsingle的文档之后包含 MS jdbc 驱动程序/#_patching_pre_built_applications

由于在 1.1.0.Snapshot 中解决了这个错误(https://github.com/spring-cloud/spring-cloud-dataflow/issues/748),它不适用于 1.0.1.Release。

我不必指定任何列入白名单的属性,并且 1.1.0.Snapshot 从内罐中正确提取了它们。

于 2016-11-09T08:14:39.550 回答