【发布时间】:2021-08-09 23:23:03
【问题描述】:
我有一个使用 Prisma 的 node/express 项目。数据库是 SqlServer。我完成了所有设置。所有相关工具都工作正常。在 CLI 中:prisma generate & prisma migrate & prisma introspect 使用我的 schema.prisma 文件都能完美运行。 Prisma Studio 使用完全相同的模式文件,连接良好并与数据库交互,没有问题。同样,Azure Data Studio 使用完全相同的主机/用户/密码轻松连接到数据库。但是当我尝试使用 PrismaClient(例如使用findMany)时,它会报错:Invalid prisma.user.findMany() invocation: Error creating a database connection.
我使用的是 Mac - Big Sur 11.3.1
SqlServer 在单独的 docker 容器中运行,我可以通过多种方式访问它,没有问题。
schema.prisma(除 Prisma 客户端外,一切正常)
generator client {
provider = "prisma-client-js"
previewFeatures = ["microsoftSqlServer"]
}
datasource db {
provider = "sqlserver"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
password String
}
users.service.ts
import { PrismaClient, User } from '@prisma/client';
class UserService {
public users = new PrismaClient().user;
public async findAllUser(): Promise<User[]> {
const allUser: User[] = await this.users.findMany();
return allUser;
}
}
【问题讨论】:
-
您好,我与 Prisma 团队合作,我们正准备在 GA 中发布 SQL Server 连接器。你能解决这个问题吗?请随时就此事与我们联系,或提出您认为我们应该优先考虑的任何其他要求here。
-
感谢您与我们联系。是的,我已经能够解决这个问题。
标签: node.js sql-server prisma