0

だから私は、SQLデータベースに正常に接続して読み取るWebプロジェクトにいます。それに接続するコードは次のようになります。

//From Here
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring="Data Source=<server>;Initial Catalog=<catalog>;User ID=<user>;
Password=<password>;Provider=SQLOLEDB";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
//To Here

rs.Open("SELECT * FROM table", connection);
rs.MoveFirst
while(!rs.eof)
{
document.write(rs.fields(1));
rs.movenext;
}

rs.close;
connection.close;

シンプルで効果的で、うまく機能しています。しかし、これらの最初の 4 つ (ここからここまでのマーク) は非常に遅く実行され、SQL データベースの読み取りまたは書き込みが必要になるたびに再接続する必要があります...これは私のプロジェクトにとっては大変なことです。そのため、このコード (このプロジェクトで作成している他のすべての Web ページにあります) を実行するたびに、このコードが実行されるのを待つ必要があります。

このプロジェクトでは、javascript と spring フレームワークを使用して設計を構成するように言われました/要求されました。どうやら、a)接続を保持する方法があるため、新しいページに移動するたびにこのコードを実行する必要がないか、b)SQLデータベースへの別の接続方法(これら4を置き換えるもの)どちらのコードも、Spring Framework の使用に関係しています。

これまで Spring Framework を使用したことがなく、すぐに習得する必要があります。彼らのウェブサイトのチュートリアルを見てきましたが、何をすべきか、どのようにすべきかまだわかりません. アイデアがあれば教えてください。

よろしくお願いします。

4

2 に答える 2

0

接続プーリングが必要です。つまり、毎回新しい接続を開いたり閉じたりするのではなく、閉じようとしていた接続を保持し、後で再利用できるかどうかを確認します。

残念ながら、JavaScript でページ間でオブジェクトを再利用できるものを見たことがないので、JavaScript でこれを行う方法はおそらくありません。とにかく、ブラウザからデータベースに直接接続することは非常に悪い習慣だと考えられています。

通常、Java または C# アプリケーション サーバーを間に配置し、接続プールを使用してデータベースにアクセスさせます。次に、javascript からアプリケーション サーバーへの AJAX 呼び出しを実行します。これにより、接続プールが使用され、たとえば JSON オブジェクトが返されます。

たとえば、http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html#MySQL_DBCP_Exampleを参照してください。

于 2012-07-02T21:48:55.397 に答える
0

ここで何か間違っていると思います.JavaScriptからデータベースにアクセスすることは想定されていません.

データベースのサーバー側のみにアクセスする必要があります。

于 2012-07-02T21:27:20.093 に答える