cu8-sequelize-oracle icon indicating copy to clipboard operation
cu8-sequelize-oracle copied to clipboard

Connection example

Open keyursakaria opened this issue 8 years ago • 4 comments

var oracledb = require('oracledb'); var Sequelize = require('sequelize-oracle'); var sequelize = new Sequelize('XE', 'system', 'password', { host: 'localhost', dialect: 'oracle', pool: { max: 5, min: 0, idle: 10000 }, });

Above code is what im using to connect to oracle. Can you help me out with this on how to connect

Error im getting :-

Error: timeout of 2000ms exceeded. Check your configuration and your database

keyursakaria avatar Nov 25 '16 07:11 keyursakaria

Here's a connection example, it would be great if it could be included in the README

var Sequelize = require('cu8-sequelize-oracle');

var sequelize = new Sequelize('orcl', USER, 'PASSWORD',{
    database: 'orcl',
    username: USER,
    password: 'PASSWORD',
    host:     '127.0.0.1',
    port:     '1521',
    pool:     {
      maxConnections: 5,
      maxIdleTime:    3000
    },
    dialect: 'oracle',
    logging: console.log
});

var Project = sequelize.define('project', {
  title: Sequelize.STRING,
  description: Sequelize.TEXT
})

var Task = sequelize.define('task', {
  title: Sequelize.STRING,
  description: Sequelize.TEXT,
  deadline: Sequelize.DATE
})

sequelize
.drop().then(function(){
	sequelize.sync({force:true}).then(function(){
		console.log("DB READY");
	});
});

rpavez avatar Apr 21 '17 23:04 rpavez

@keyursakaria You error is just a timeout, try to connect using sqlplus or SQLDeveloper first.

rpavez avatar Apr 21 '17 23:04 rpavez

connectString example ? I am using a SID, instead of a SERVICE_NAME, which is setup in TNSNAMES.ora how would I connect ? This is how I do it with straight oracledb :

class Database { connect() {

    var config = {
        user: scott",
        password: "tiger",
        connectString: "db4"
    };

    oracledb.autoCommit = true
    oracledb.outFormat = oracledb.OBJECT

    return new Promise((resolve, reject) => {
        oracledb.getConnection(config)
            .then(conn => {
                this._connection = conn
                resolve('connected to oracledb!')
            })
            .catch(err => reject(Error('failed to connect to oracledb : ' + err)))
    })
}

mrisney avatar Jan 11 '18 07:01 mrisney

I sucessfully connected with below code

const http = require('http');
const oracledb = require('oracledb');
let error;
let user;
oracledb.getConnection(
    {
      user: 'awsuser12', 
      password: '2o0KxhCXeR7UccczzFJjQOyrcoBELsKcA6X7',
      connectString: 'whiz-oracle.tesrsds.eu-west-1.rds.amazonaws.com:1521/orcl'
    }, function(err, connection) {
	
	console.log('connection created');
      	if (err) {console.log(err); }
      
      		connection.execute('select user from dual', [], function(err, result) {
			console.log('executing query..');
			console.log(err);
			console.log(result);


        		connection.close(function(err) {
          			if (err) {console.log(err);} else{
					console.log('connection closed successfully');
				}
				
        		}); 
        
      		})
    }
);

But getting error while using sequalize-oracle orm my code is :

const Sequelize = require('sequelize-oracle');

let database = new Sequelize(
  'orcl',
  'testuser',
  'testuserpass', {
  host: 'whiz-oracle.clzhphljtuutsd.eu-west-1.rds.amazonaws.com',
  port: 1521,
  dialect: "oracle",
  dialectOptions: {
    connectTimeout: 6000
  },
  pool: {
    max: 5,
    min: 0,
    idle: 10000,
  },
  // logging: function (str) {
  //   console.log('database logging');
  //   console.log(str);
  // },
  define: {
    timestamps: false
  }
});

database
    .authenticate()
    .then(() => {
        console.log('Connection has been established successfully hhhhhh.');
    })
    .catch(err => {
        console.error('Unable to connect to the database:', err);
    });

Error: timeout of 2000ms exceeded. Check your configuration and your database Please help me to get rid of this.

princekdwivedi avatar Nov 13 '19 04:11 princekdwivedi