nestjsTypeOrm Mssql 的弯路

使用NestJs TypeORM 连接SQL Server 教程相当少,查了好多资料都是Mysql或者MangoDB的。

搞了好多方法都不得要点
正确的方法,抄官网


//这个为database.provider.ts!!!
import { DataSource } from 'typeorm';

export const databaseProviders = [
	{
		provide: 'DATA_SOURCE',
		useFactory: async () => {
			const dataSource = new DataSource({
				type: 'mssql',
				host: 'localhost',
				port: 1433,
				username: 'sa',
				password: 'xxx',
				database: 'xxx',
				entities: [
					__dirname + '/../**/*.entity{.ts,.js}',
				],
				synchronize: true,
				connectionTimeout: 15000,
				requestTimeout: 15000,
				pool:
				{
					max: 10,
					min: 0,

					idleTimeoutMillis: 30000
				},
				options: {
					"encrypt": false // Windows Azure时设置为true,其他设置为false
				},
				extra: {
					trustServerCertificate: true,
					trustedConnection: true,

				}
			});

			return dataSource.initialize();
		},
	},
];
 

database.module.ts

import { Module } from '@nestjs/common';
import { databaseProviders } from './database.providers';

@Module({
  providers: [...databaseProviders],
  exports: [...databaseProviders],
})
export class DatabaseModule {}

犯的错误如下:
端口号:1433。因为范例大多是Mysql,要么端口号忘了,要么type错了。

app.module的import 模块切记用

@Module({
  imports: [PostsModule, UsersModule,	DatabaseModule	
		  // TypeOrmModule.forRoot()
		],
  controllers: [AppController],
  providers: [AppService],
})

// TypeOrmModule.forRoot() 这个工具是网上找的,不知道怎么填花了好长时间,不管用。

// export const DatabaseConfig1 = {
// type: ‘mysql’,
// host: ‘127.0.0.1’,
// port: 3306,
// username: ‘root’,
// password: ‘123456’,
// database: ‘example’,
// entities: [__dirname + ‘//*.entity{.ts,.js}'],
// synchronize: false,
// migrations: ['database/migration/
/*.ts’],
// cli: {
// migrationsDir: ‘database/migration/default’,
// },
// }
TypeOrmModule.forRoot(DatabaseConfig1 ) 不管用

而如下方法是可以的。

TypeOrmModule.forRoot({
// 	     type: 'mssql',
// 	     host: 'localhost',
// 	     port: 1433,
// 	     username: 'sa',
// 	     password: 'xxxx',
// 	     database: 'xxx',
// 	     entities: [],
// 	     synchronize: true,
// 						connectionTimeout :15000,
// 						requestTimeout :15000,	
// 						pool:
// 						{
// 							max:10,
// 							min: 0,
							 
// 							idleTimeoutMillis: 30000
// 						},
// 						options: {
// 								"encrypt": false // Windows Azure时设置为true,其他设置为false
// 						},
// 						extra:{
// 						 	 trustServerCertificate:true,
// 									trustedConnection: true,
					 
// 						}})

真是奇怪

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,用于在物联网和分布式系统中进行设备间的通信和数据传输。MQTT基于发布/订阅模式,其中消息被发布到特定的主题,并从那些订阅了该主题的客户端接收。MQTT协议具有低带宽、低功耗、快速响应和高可靠性等特点,被广泛应用于物联网设备之间的通信以及传感器网络。 MSSQL(Microsoft SQL Server)是一种由微软开发的关系型数据库管理系统(RDBMS),它使用结构化查询语言(SQL)来管理和处理数据。MSSQL支持高性能、高可用性和可扩展性,适用于各种规模的应用和企业级解决方案。 MQTT和MSSQL可以结合使用,以实现物联网设备和数据库之间的数据交互。MQTT作为通信协议,可以使物联网设备将收集到的数据发布到特定的主题上,同时订阅该主题的MSSQL数据库可以订阅并接收这些数据。通过将MQTT客户端与MSSQL数据库集成,可以实现实时数据传输、数据存储和数据分析等功能。 使用MQTT与MSSQL的结合,可以实现实时监控和控制系统,例如温度监测、智能家居和工业自动化等领域。同时,这种结合还能为数据采集和分析提供更高的灵活性和可扩展性,因为MQTT可以轻松地集成其他的物联网设备和传感器。 总结来说,MQTT是一种用于物联网设备间通信的协议,而MSSQL是一种关系型数据库管理系统。结合使用MQTT和MSSQL,可以实现物联网设备与数据库之间的实时数据传输和存储,为物联网应用提供更高的灵活性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值