A colleague got a new computer and when he tried to connect to an Oracle server with a JDBC client, he got this error:
ORA-12705: Cannot access NLS data files or invalid environment specified
After comparing our Java environments, he found that he had
user.country = BZ (BZ is the top level domain for Belize). He changed his Regional and Language Options to English (Australia) and then he had no problems connecting to the Oracle server.
I think when JDBC client tries to connect to the Oracle server, the client specifies its locale and when the Oracle server fails to find the required locale files, the server throws the ORA-12705 error message.