2012-05-25 26 views
0

我是javascript的新手。我只是想知道是否有可能只使用javascript获取数据库细节。我知道JavaScript是客户端组件。通常使用方法我们获取数据库细节。是否有可能使用javascript检索数据库详细信息

public static void main(String args[]) throws SQLException { 
     //URL of Oracle database server 
     String url = "jdbc:oracle:thin:@localhost:1632:XE"; 

     //properties for creating connection to Oracle database 
     Properties props = new Properties(); 
     props.setProperty("user", "scott"); 
     props.setProperty("password", "tiger"); 

     //creating connection to Oracle database using JDBC 
     Connection conn = DriverManager.getConnection(url,props); 

     String sql ="select sysdate as current_day from dual"; 

     //creating PreparedStatement object to execute query 
     PreparedStatement preStatement = conn.prepareStatement(sql); 

     ResultSet result = preStatement.executeQuery(); 

     while(result.next()){ 
      System.out.println("Current Date from Oracle : " +   result.getString("current_day")); 
     } 
     System.out.println("done"); 

    } 
} 

是否有可能仅使用像Windows,Linux和任何浏览器,如Mozilla,IE,Safari浏览器等任何机器上工作的JavaScript来获取同样的事情?任何指针,建议真的帮助我了解JavaScript的力量。

+3

No. JS没有oracle驱动程序。最多你可能会得到类似于SQLite的客户端数据库操作 –

+0

简而言之...... – Rafay

+0

只是附加信息 - 一些RDBMS服务器将数据公开为Web服务,因此您需要Web服务器来实现此目的。通过这种方式,您可以与暴露的API(API)进行通信。这将使您无法创建Web应用程序来公开数据。 –

回答

0

不,使用客户端JavaScript是不可能的。

有服务器端JavaScript选项,如node.js。 你可以看看那些。

0

利用HTML5的websockets功能,您可以使用JavaScript连接到某个主机并通过网络进行通信。因此,连接到数据库端口并发送查询并接收结果在技术上是可行的。

https://developer.mozilla.org/en/WebSockets

然而,HTML5目前还只是一个提议,浏览器只是开始实施其功能。目前使用的许多浏览器(如旧版IE)当然不会实现任何功能。此外,JS可能没有任何数据库驱动程序,因此您必须执行所有您可能不想要的低级别通信。

在Web应用程序中如何实现这种通常的方式是JavaScript通过AJAX从服务器请求数据,然后服务器与数据库进行通信。这些服务器通常是用PHP编写的,但是你可以使用你的Java代码来创建一个servlet。基本上,只需将代码移动到HttpServletdoGet()doPost()函数中,将这些类打包到Web归档文件中并使用Tomcat或Jetty启动它。

0

JavaScript只能启动对服务器端代码的调用,后者又连接到数据库。 这些日常见的技术是使AJAX调用(使用JavaScript)调用将从数据库返回数据的服务。

网上有几个例子描述了该技术

相关问题