-
Notifications
You must be signed in to change notification settings - Fork 65
Closed
Description
I tried to make cfenv to configure external sqlserver and it's not easy. Firstly because we don't have no docs what a particular database binding might expect user to set. Secondly various jdbc url creators works a little differently so you get unexpected errors internally and as we don't really log those it's difficult to fix configs.
For example if adding mysql
like this my app tries to connect to localhost:
cf create-user-provided-service mysql-database-service -p '{"uri":"mysql://localhost:3306/dataflow", "username":"foo", "password":"bar"}'
If I add sqlserver
like this, cfenv is just skipping configuring phase.
cf create-user-provided-service mssql-database-service -p '{"uri":"sqlserver://localhost:1433;database=dataflow", "username":"foo", "password":"bar"}'
When I modified code to spit out errors, this is what I saw:
java.lang.NullPointerException
at java.net.URLEncoder.encode(URLEncoder.java:204)
at io.pivotal.cfenv.core.UriInfo.urlEncode(UriInfo.java:107)
at io.pivotal.cfenv.jdbc.SqlServerJdbcUrlCreator.buildJdbcUrlFromUriField(SqlServerJdbcUrlCreator.java:36)
at io.pivotal.cfenv.jdbc.AbstractJdbcUrlCreator.createJdbcUrl(AbstractJdbcUrlCreator.java:49)
at io.pivotal.cfenv.jdbc.CfJdbcUrlCreator.<init>(CfJdbcUrlCreator.java:45)
at io.pivotal.cfenv.jdbc.CfJdbcEnv.findJdbcService(CfJdbcEnv.java:45)
at io.pivotal.cfenv.spring.boot.CfDataSourceEnvironmentPostProcessor.postProcessEnvironment(CfDataSourceEnvironmentPostProcessor.java:67)
Looks like I get cfenv to configure sqlserver
if I use jdbcUrl
instead if using uri
:
cf create-user-provided-service mssql-database-service -p '{"jdbcUrl":"jdbc:sqlserver://localhost:1433;database=dataflow", "username":"foo", "password":"bar"}'
Metadata
Metadata
Assignees
Labels
No labels