2017-06-23 11 views
0

"sqlite"フォルダにあるローカルエリアネットワークマシン上のsqliteファイルにアクセスしようとしています。アドレス "192.168.5.15/sqlite/db.sqlite"になりますが、電子アプリケーションがアクセスしようとすると、パスはローカルマシンパス "c:/ application ....../192.168 ...."に変換されます。 。静的アドレス(Electron/Nodejs/fs)を持つリモートマシン上のsqliteデータベースにアクセス

ローカルマシンのパスに変換せずに静的IPアドレスを使用して直接ファイルをポイントすることはできますか。

// login_app.js 
 

 
var route = require('../../libs/router.js'); \t //my lib 
 

 
var dbPath = "192.168.5.15/sqlite/db.sqlite" \t // here is the path i want to keep it static 
 

 
function login() { 
 
    var email   = document.getElementById("email").value; 
 
    var password = document.getElementById("password").value; 
 

 
    if(email == "" || password == ""){ 
 
     alert("Please Enter Your email & Password ..."); 
 
     return; 
 
    } else{ 
 
     var sql = require('sql.js');       //Import sqLite 
 
     var fs = require("fs");         //Import Files driver 
 

 
     var SHA256 = require("crypto-js/sha256");    \t //Crypting Library 
 

 
     try { 
 
      var filebuffer = fs.readFileSync(dbPath); \t \t \t //here is the problem it converts the file to local machine path c:/..../192.... 
 

 
      if (filebuffer != null) { 
 
       var db = new SQL.Database(filebuffer); 
 
      } else { 
 
       var db = new SQL.Database(); 
 
       console.log("No Database"); 
 
      } 
 

 
      // Prepare an sql statement 
 
      var stmt = db.prepare("SELECT * FROM users WHERE email=:emailid"); 
 

 
      // Bind values to the parameters and fetch the results of the query 
 
      var result = stmt.getAsObject({':emailid' : email}); 
 
      if(result.password == null) alert('Account not existing, please contact Your Administrator ...'); 
 
      else{ 
 
       if(SHA256(password) == result.password) { 
 
        
 
        route.data.relocate('dashboard'); 
 

 
       } 
 
       else alert('Wrong Login credentials, please try again ...'); 
 
      } 
 

 
     } catch (e) { 
 
      console.log(e); 
 
     } 
 

 
    } 
 
}

+0

2つのスラッシュを試しましたか? 'var dbPath =" //192.168.5.15/sqlite/db.sqlite "'またはおそらく 'file:// 192.168.5.15/sqlite.db.sqlite' - このページはそのようなフォーマットについて記述していますが、"実験的 " https://nodejs.org/api/fs.html – GregHNZ

+0

ファイル://192.168.5.15/sqlite.db.sqlite、//192.168.5.15/sqlite/db.sqlite正常に機能しました。ありがとうございました。 –

答えて

0

= "//192.168.5.15/sqlite/db.sqlite" が働いGregHNZのvar DBPATH、これだけに使用ダブルスラッシュによって示唆されているように:ここ

はコードです。

ありがとうございましたGregHNZ

関連する問題