[英]Prisma "Error creating a database connection"
我有一個使用 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;
}
}
好的,所以我至少找到了部分答案。 我一直在通過docker-compose
在 Docker 容器中運行我的 Prisma/Node 項目。 相反,如果我只是通過npm run dev
運行它,那么 PrismaClient 工作正常。 不知道為什么它在容器內時無法連接到我的數據庫...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.