J'utilise typeorm en JavaScript pour le noeud et back-end express comme ici:
https://typeorm.github.io/usage-with-javascript.htmlMissingDriverError lorsque le type est oracle: en utilisant typeorm
version noeud v6.11.1
dipendencies de package.json
"@types/es6-shim": "^0.31.35",
"@types/node": "^8.0.25",
"async": "^2.5.0",
"body-parser": "^1.17.2",
"cors": "^2.8.4",
"express": "^4.15.4",
"oracledb": "^1.13.1",
"reflect-metadata": "^0.1.10",
"typeorm": "0.1.0-alpha.35"
Ce
est l'erreur que je reçois:
Error: { Error
at new MissingDriverError (C:\Users\shodh\projects\NAPPATracking\node_modules\typeorm\error\MissingDriverError.js:22:23)
at DriverFactory.create (C:\Users\shodh\projects\NAPPATracking\node_modules\typeorm\driver\DriverFactory.js:40:23)
at new Connection (C:\Users\shodh\projects\NAPPATracking\node_modules\typeorm\connection\Connection.js:81:59)
at ConnectionManager.create (C:\Users\shodh\projects\NAPPATracking\node_modules\typeorm\connection\ConnectionManager.js:56:26)
at Object.<anonymous> (...\node_modules\typeorm\index.js:205:70)
at step (...\node_modules\typeorm\index.js:32:23)
at Object.next (...\node_modules\typeorm\index.js:13:53)
at ...\node_modules\typeorm\index.js:7:71
at __awaiter (...\node_modules\typeorm\index.js:3:12)
at Object.createConnection (...\node_modules\typeorm\index.js:196:12)
name: 'MissingDriverError',
message: 'Wrong driver undefined given. Supported drivers are: "mysql", "postgres", "mssql", "oracle", "mariadb", "sqlite".' }
Voici le m odel:
module.exports = {
name: "reagentsandconditionsnames",
columns: {
reagentnameid: {
primary: true,
type: "int",
generated: true
},
reagentname: {
type: "string"
},
datatype: {
type: "string"
},
displayordernumber: {
type: "int"
}
}
};
Voici le code où je suis en train d'accéder à la base de données:
var typeorm = require("typeorm"); // import * as typeorm from "typeorm";
const oracledb = require('oracledb');
var reagentsandconditionsnames = require("./reagentsandconditionsnames"); // import {Post} from "./model/Post";
module.exports.getAllRandC = (callback) => {
typeorm.createConnection({
driver: {
type: "oracle",
host: "localhost",
port: 1521,
username: "uname",
password: "pwd",
database: "dev"
},
entitySchemas: [
reagentsandconditionsnames
],
autoSchemaSync: true
}).then(function (connection) {
console.log(connection);
// let rncnames = await connection.entityManager.find(reagentsandconditionsnames);
// console.log(rncnames);
callback(null, JSON.stringify("rncnames"));
}).catch(function(error) {
console.log("Error: ", error);
});
}
Qu'est-ce que je fais mal?
oui je l'ai fait, je peux obtenir des données de base de données sans utiliser son typeorm quand j'utilise le typeorm en quelque sorte il ne reconnaît pas le pilote –
j'ai essayé avec d'autres types de base de données sans les installer et c'est la même erreur! –
J'ai également essayé de commenter toutes les lignes de pilotes et je reçois toujours la même erreur semble ne pas même lire les informations du pilote. –