encrypt参数

g9icjywg  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(471)

我使用的是spring data r2dbc,我可以使用以下代码在localhost中连接我的项目和数据库:

  1. public class R2dbcConfig extends AbstractR2dbcConfiguration {
  2. private final ApplicationDatabaseProperties applicationDatabaseProperties;
  3. @Bean
  4. @Override
  5. public ConnectionFactory connectionFactory() {
  6. return new MssqlConnectionFactory(
  7. MssqlConnectionConfiguration.builder()
  8. .host(applicationDatabaseProperties.getHost())
  9. .port(applicationDatabaseProperties.getPort())
  10. .username(applicationDatabaseProperties.getUsername())
  11. .password(applicationDatabaseProperties.getPassword())
  12. .database(applicationDatabaseProperties.getDatabase())
  13. .build());
  14. }
  15. @Bean
  16. public DatabaseClient databaseClient(ConnectionFactory connectionFactory) {
  17. return DatabaseClient.create(connectionFactory);
  18. }
  19. }

很明显,applicationdatabaseproperties有数据库连接的参数,但在其他环境中,我有这样的连接字符串: jdbc:sqlserver://[myhost]:1433;database=[mydatabase];user=[myUser];password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=[myhostNameInCertificate];loginTimeout=30; 我使用了MSSQLSconnectionFactory(mssql),我可以查看主机、端口、数据库、用户和密码,但我无法将encrypt参数设置为true,是否有方法使用该类(MSSQLSconnectionFactory和MSSQLSconnectionConfiguration)设置此参数。
谢谢你的回答。

rseugnpd

rseugnpd1#

按照您可以创建的文档 ConnectionFactory 以及 Connection 以编程方式创建对象。

  1. @Bean
  2. @Override
  3. public ConnectionFactory connectionFactory() {
  4. final ConnectionFactoryOptions options = builder()
  5. .option(DRIVER, "sqlserver")
  6. .option(HOST, applicationDatabaseProperties.getHost())
  7. .option(PORT, applicationDatabaseProperties.getPort())
  8. .option(USER, applicationDatabaseProperties.getUsername())
  9. .option(PASSWORD, applicationDatabaseProperties.getPassword())
  10. .option(DATABASE, applicationDatabaseProperties.getDatabase())
  11. .option(Option.valueOf("[ANOTHER_OPTION]","[ANOTHER_VALUE"))
  12. .build();
  13. return ConnectionFactories.get(options);
  14. }

在这种情况下,您可以输入任何其他需要的参数,如:

  1. .option(Option.valueOf("encrypt", Boolean.TRUE))
展开查看全部

相关问题