将 nesjs 应用程序连接到 SQL Server Express 时出错:无法连接到 localhost:1433 - 自签名证书

Posted

技术标签:

【中文标题】将 nesjs 应用程序连接到 SQL Server Express 时出错:无法连接到 localhost:1433 - 自签名证书【英文标题】:Error when connecting nesjs app to SQL Server Express : failed to connect to localhost:1433 - self signed certificate 【发布时间】:2021-08-01 12:31:11 【问题描述】:

我正在尝试将我的 nestjs 应用程序连接到 SQL Server Express,但出现此错误:

ConnectionError: 无法连接到 localhost:1433 - 自签名证书

注意:端口 1433 已打开,我可以通过 SSMS 进行连接:

import  Module  from '@nestjs/common';
import  TypeOrmModule  from '@nestjs/typeorm';
import  AppController  from './app.controller';
import  AppService  from './app.service';

@Module(
  imports: [
    TypeOrmModule.forRoot(
      type: 'mssql',
      host: 'localhost',
      port: 1433,
      username: 'sa',
      password: '<mypassword>',
      database: 'test',
      entities: [__dirname + '/**/*.entity.ts,.js']
    )
  ],
  controllers: [AppController],
  providers: [AppService],
)
export class AppModule 

【问题讨论】:

【参考方案1】:

使用这个 trustServerCertificate: true

@Injectable()
export class TypeOrmConfigService implements TypeOrmOptionsFactory 
  constructor(private configService: ConfigrationService) 

  createTypeOrmOptions(connectionName?: string): TypeOrmModuleOptions | Promise<TypeOrmModuleOptions> 
    return Promise.resolve<TypeOrmModuleOptions>(
      type: 'mssql',
      name: connectionName,
      host: this.configService.dbHost,
      port: this.configService.dbPort,
      username: this.configService.dbUsername,
      password: this.configService.dbPassword,
      database: this.configService.dbName,
      entities: [__dirname + '/**/*.entity.ts,.js'],
      synchronize: true,
      autoLoadEntities: true,
      options: 
        encrypt: true,
      ,
      extra: 
        validateConnection: false,
        trustServerCertificate: true,
      ,
    );
  

【讨论】:

以上是关于将 nesjs 应用程序连接到 SQL Server Express 时出错:无法连接到 localhost:1433 - 自签名证书的主要内容,如果未能解决你的问题,请参考以下文章

无法将 JDBC 连接到 SQL 服务器?

最佳实践:将 WPF 连接到远程 SQL 数据库

通过sql server express将Android应用程序连接到sql server

将 .NET Core 桌面应用程序连接到 Azure SQL Server 的最佳方式是啥

将 JDeveloper 应用程序连接到 Oracle Live SQL

是否可以将 PHP 连接到 SQL Server Compact Edition?