Bonjour, J’utilise (npm) MSSQL ainsi que SQL Server 12.0.2269 et j’ai besoin de récupérer des données dans une base de donnée. Je précise que je n’ai pas le schema de la db, je l’ai récupérée d’un serveur d’un jeu (dragonica)
static async getCharacterById(characterId) {
const memberKey = await sql.query`USE DR2_User; SELECT MemberID FROM TB_CharacterBasic WHERE CharacterID = ${characterId}`
const memberData = await sql.query`USE DR2_Member; SELECT * FROM Member WHERE MemberKey = ${memberKey}`
}
Pour la première ligne, je vais dans la base de donnée DR2_User, je sélecte la column MemberID dans la table TB_CharacterBasic lorsque CharacterID est égal au paramètre de la fonction.
Donc si je fais getCharacterById(’7796f31a-160b-4e7b-8acd-fa66c24d2908 Ensuite, je souhaite récupérer le compte de ce personnage, donc je vais aller dans la base de donnée DR2_Member, je vais prendre toutes les données lorsque MemberKey est égal à MemberID.
Le problème est que j’obtiens une erreur,
(node:9196) UnhandledPromiseRejectionWarning: RequestError: Conversion failed when converting from a character string to uniqueidentifier
(MemberID représente MemberKey dans une autre db)
J’ai tenté de convertir MemberID de cette manière :
const memberData = await sql.query
USE DR2_Member; SELECT * FROM Member WHERE MemberKey = Cast(${memberKey} AS UNIQUEIDENTIFIER` mais cela ne fonctionne pas et j’obtiens toujours la même erreur :/
Node.js: v12.8.1 Mssql: ^6.2.0 SQL Server: 12.0.2269
Comment est-ce que je pourrais faire svp ?
Merci et bonne journée/soirée !