2012-04-04 17 views
0

クライアントマシンはSQL Serverポートにアクセスできず、クライアントマシンへのポートを開くことはできません。ASP.NETでサーバーサイド接続を使用して既存のJavascript SQL Server接続を交換しますか?

シナリオ:私たちは古いクライアントアプリケーションを完全にjavascriptで書いています。 JavaScriptには、SQL Serverアカウントのユーザー名とパスワードを含むクリアテキスト接続文字列が含まれています。また、ASP.NETを使用して他のアプリケーションをホストします。

私たちは、javascriptアプリケーション全体を書き直すことなく、サーバーへの接続を移動したいと考えていました。

.jsファイル内のすべてのデータ関数に対してAJAX(または同様の)呼び出しを行うことなく、.jsファイル内の接続をサーバー側の接続に置き換える方法はありますか?ここで

は、SQL Serverのポートが変更される前に、クライアントが接続するために使用される方法です:

var conn_str = "DRIVER=SQL SERVER;SERVER=MyServer;DATABASE=MyDb;UID=sqluser;PWD=mypassword;"; 

function openConn() { 
    //alert("openConn() "); 
    this.conn = getAdoDb("ADODB.Connection"); 
    conn.ConnectionTimeout = 240; 
    conn.CommandTimeout = 240; 
    conn.open(conn_str, "", ""); 
    //alert("Current Connection String: " + conn_str);} 

上記のコードは、コードの行数千人のJavaScriptファイルです。私たちは、単にこのjavascriptの接続部分を、ASPXページやAJAXなどの.jsファイルで消費されるものに置き換えたいと考えています。

+1

質問がありますか?私たちは特に「挑戦」が好きではありません。特に、何が試されているのか、コードサンプルがないのかは私たちには分かりません。 – Oded

+0

どのように正確にSQL Serverに直接javascriptで接続していますか?私が知る限り、javacriptで直接使用できるSQL Server用のDBライブラリはありません。 – Oded

+0

私はサンプルコードを追加して、投稿aをクリーンアップしました。 – VagabondSW

答えて

0

.jsファイル内のすべてのデータ機能に対してAJAX(または同様の)呼び出しを行うことなく、.jsファイル内の接続をサーバー側の接続に置き換える方法はありますか?

サーバー側のテクノロジを使用する場合、AJAXは1つのオプションです。復習されたデータをJavaScriptで消費するようにページに組み込むことができます(つまり、JSONを出力します)。

SQLとパラメータを受け入れる一般的なサーバー側のデータ関数を作成できますSQLインジェクションと改ざんを避けるために、渡されたクエリとパラメータを検証します。

私の意見では、すべてのデータ機能を置き換えるための安全な方法はありません。

+0

セキュリティは必須ではありませんが、ファイアウォール上のSQL Serverリスニングポートを開くことはオプションではありません。ポストはスパイクされているので、これはすべての答えと同じくらい良いです。あなたの投票があります。 – VagabondSW

関連する問題