0

数多くの例を見て、ほとんどのドキュメントを読んで、さまざまなバリエーションを試して、SQL Server内の多くの設定を変更したところ、これに助けを求める。knexjsで接続することができません。接続を取得できません。

SQL Serverが受け入れるが、しばらくの間knexjsで使用できなかった同じ接続文字列を使用して、mssqljsを使用してtblTextKnexに正常に接続しました。

は、私は次の警告やエラーが表示されます。

Knex:warning - calling knex without a tableName is deprecated. Use knex.queryBuilder() instead.

Unhandled rejection Error: Unable to acquire a connection

これは私が動作するはずと信じ失敗した/問題のあるコードです。私はかなり確信している

var knex = require('knex')({ 
    client: 'mssql', 
    connectionString: "Initial Catalog=TextKnex;Data Source=localhost\\TESTINSTANCE;User ID=my_user_id;Password=my_password;Integrated Security=SSPI;" 
    }); 

    knex().connection().then(() => { 
    knex('TextKnex').table('Products') 
     .select('Products.Price as Price') 
     .then((product) => { 
      console.log('log product', product); 
      console.dir('dir product', product); 
      logger.info('Query Data: %j', product); 
    }) 
    }); 
    knex.destroy(); 

答えて

1

は、動作しないために文書化されて何のconnectionString属性とconnection()クエリビルダ方法はありません(とプールが接続されているかどうかをチェックされていません)。また、最終的にknex.destroy()と同時に呼び出されると、クエリや接続が行われる前に、あなたのknexインスタンスが破壊されます。

このお試しください:である、あなたが仕事を提供する第一及び第2のオプションのいずれもhttps://github.com/tgriesser/knex/blob/master/test/knexfile.js#L132

+0

:knex試験でMSSQL接続は少し異なる方法で行われ

var knex = require('knex')({ client: 'mssql', connection: { connectionString: "Initial Catalog=TextKnex;Data Source=localhost\\TESTINSTANCE;User ID=my_user_id;Password=my_password;Integrated Security=SSPI;" } }); knex('TextKnex').table('Products') .select('Products.Price as Price') .then((product) => { console.log('log product', product); console.dir('dir product', product); logger.info('Query Data: %j', product); }) .finally(() => { knex.destroy(); }); 

または

var knex = require('knex')({ client: 'mssql', connection: "Initial Catalog=TextKnex;Data Source=localhost\\TESTINSTANCE;User ID=my_user_id;Password=my_password;Integrated Security=SSPI;" }); ... 

をKnex.orgが「接続オプションは、接続を作成するために適切なデータベースクライアントに直接渡され、オブジェクトまたは接続文字列のいずれかである可能性があります: " – Urasquirrel

+0

また、過去に他の人にも問題を引き起こしているので、バージョンを4から3.3.0に変更しようとしました。これも機能しませんでした。 – Urasquirrel

+0

テストファイルで提案されている形式を使用しても動作しませんでした。 'MSSQL' 接続:{ ユーザ: "コンピュータ名\\ kyles2"、 パスワード: "p_w"、 サーバ: "127.0.0.1"、 データベースknexは=( 'knex')({ 方言を必要とします。 "TextKnex"、 port:59438 } – Urasquirrel

関連する問題