2016-03-21 24 views
0

sequelizeを使用してSQL Serverデータベースに接続しようとしています。ここに私の接続コードがあります。sequelizeでSQL Serverデータベースに接続する際にエラーが発生しました

var connection = new Sequelize(config.database,config.user,config.password, { 
host: config.server, 
port: 1433, 
dialect: 'mssql' 
}); 

私の設定ファイルが正しくデータを渡していることがわかりました。私はmysql DBに接続することができましたが、SQL Serverで同じものを試してみると、私は運が無かったのです。

ここにいくつかの接続オプションがありませんか?私はドキュメンテーションのドメインについては何も見ていないので、それが欠けているわけではありません。それは私の最高の推測です。

これは私が

メッセージを取得していますエラーがある: 'HOSTNAMEへの接続に失敗しました:1433 - ECONNREFUSED ip.of.ho.st:1433を接続'、ここで

である私package.jsonファイル

{ 
    "name": "sequelizeTest", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "ISC", 
    "dependencies": { 
    "sequelize": "^3.19.3", 
    "tedious": "^1.13.2" 
    } 
} 
+0

私はいくつかの進歩を遂げました。私は今接続を拒否メッセージを取得しています。私は自分のユーザー名とパスワードが正しいことを知っています。私が私のドメインを正しく指定したかどうかは、私がいつもに戻ってきます。 – OrwellHindenberg

答えて

4

答えは、ダイアレクトオプションと呼ばれる文書化されていないオプションでした。私のセットアップでは、これはmssqlインスタンスに接続するためのものでした。

dialectOptions: { 
    instanceName: INSTANCE_NAME_HERE, 
    domain: DOMAIN_HERE 
} 

だからあなたの全体Sequelizeインスタンス/接続は次のようになります。私はsequelizeにあきらめて、私が持っていたと思いますどのなく、この信じられないほどのポストhttp://raathigesh.com/Connecting-To-MSSQL-with-Sequelize/の助けを借りて、この答えを見つけた

var connection = new Sequelize(config.database,config.user,config.password, { 
host: config.smallserver, 
dialect: 'mssql', 
pool: { 
max: 5, 
min: 0, 
idle: 10000 


}, 
    dialectOptions: { 
     instanceName: config.instancename, 
     domain: config.domain 
    } 
}); 

1

退屈なインストールをしましたか?これは、SQL Serverに接続するために必要な依存関係です。以前のバージョンのSequelizeはSQL ServerをサポートしていなかったのでORMを使用していませんが、これは確実に動作しますhttps://www.npmjs.com/package/mssql

Sequelizeの最新バージョンを取得してください。

npm install --save tedious 
+0

それは良い推測だったオレグ!私は退屈なインストールされています。 package.jsonファイルを表示するために私の答えを更新します。 – OrwellHindenberg

関連する問題