【发布时间】:2020-01-23 20:03:42
【问题描述】:
我需要在 Spring-Standalone 应用程序中更改 Oracle 会话的 NLS_NUMERIC_CHARACTERS。我正在使用 JdbcTemplates:
logger.info("Setting NLS-Parameter.");
jdbcTemplate.execute("alter session set NLS_NUMERIC_CHARACTERS='.,'");
logger.info(jdbcTemplate.queryForObject("select value from nls_session_parameters where parameter = 'NLS_NUMERIC_CHARACTERS'", String.class));
但它没有改变:
Setting NLS-Parameter.
,.
我以编程方式初始化 JdbcTemplate:
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(ORACLE_JDBC_DRIVER);
dataSource.setUrl(url);
dataSource.setUsername(schema);
dataSource.setPassword(password);
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
所有其他语句都运行良好。仅仅改变会话是行不通的。数据库是 Oracle 18 标准。
【问题讨论】:
标签: spring oracle spring-jdbc jdbctemplate oracle18c