簡體   English   中英

Prisma“創建數據庫連接時出錯”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM