toy*_*rai 4 sql-server node.js node-webkit tedious
我已经找到了这个问题的答案,只想记录我的发现。
使用最新版本的NW.js(和Node.js)时,我遇到了node-mssql / tedious模块的问题。即使是连接到SQL Server服务器这样简单的任务也会抛出SSL 例程:ssl_choose_client_version:unsupported protocol错误。
抛出错误的原因与Node.js 12 中的更改有关。从版本 12 开始,TLS设置被收紧,默认情况下需要TLS 1.2。该SSL套路:ssl_choose_client_version:不支持的协议,如果错误将会被抛出的SQL Server服务器不支持TLS 1.2。
在Node 中,可以通过--tls-min-v1.0在启动 node 时使用命令行标志来更改默认设置。由于NW无法将命令行标志传递给Node上下文,因此解决方案是cryptoCredentialsDetails在指定的连接配置中设置自定义选项,minVersion: 'TLSv1'如下所示:
mssql.connect({
user: "this.user",
password: "this.password",
server: "this.server",
database: "this.database",
options: {
cryptoCredentialsDetails: {
minVersion: 'TLSv1'
}
}
});
Run Code Online (Sandbox Code Playgroud)