当前位置:编程学习 > wap >>

安卓手机客户端怎样通过PC服务器端访问Oracle数据库,求高手

我要做个安卓手机客户端,再做个服务器端,通过服务器端访问Oracle数据库,本人安卓菜鸟,求高手指教,具体怎样实现。 --------------------编程问答-------------------- 在我看来用Oracle的永远不是菜鸟。。。这个我用的是mysql和sqlserver。在我看来应该也是一样的吧。通过java的jdbc来连接数据库。你服务器端如果是java编写的就非常简单了。 --------------------编程问答--------------------
引用 1 楼 peijiangping1989 的回复:
在我看来用Oracle的永远不是菜鸟。。。这个我用的是mysql和sqlserver。在我看来应该也是一样的吧。通过java的jdbc来连接数据库。你服务器端如果是java编写的就非常简单了。

呵呵,我真的是菜鸟,因为毕业设计要做安卓方面的东西,所以才刚接触安卓。那请问您能说的再具体一下么 我是要用TCP网络编程 --------------------编程问答-------------------- 呵呵很简单的。我们做项目一般是通过手机客户端用httpconnect去请求服务器获取数据。在web服务器上建立好数据库通过jdbc连接。然后获取。发点代码你看看吧。
public String getDataAsString(List<NameValuePair> params) {
String result = null;
try {
httpRequest = new HttpPost(url);
httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
httpResponse = httpClient.execute(httpRequest);
if (200 == httpResponse.getStatusLine().getStatusCode()) {
result = EntityUtils.toString(httpResponse.getEntity());
System.out.println("取得返回值" + result);
// String[] nameAndKey = result.split("-_-");
// if(nameAndKey.length==2){
// String name = nameAndKey[0];
// String key = nameAndKey[1];
// myPreference.write("name001", name);
// myPreference.write("key001", key);
// }
if (result.equals(YES)) {
return YES;
} else if (result.equals(NO)) {
return NO;
}
}
} catch (IOException e) {
System.out.println("没有取得返回值");
}
return NO;
}

package com.pei.test;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.pei.database.MyDbHelper;
/**
 * class name:LoginServlet<BR>
 * class description:登录的一些数据和控制<BR>
 * PS:验证用户名和密码等等 <BR>
 * 
 * @version 1.00 2011/09/21
 * @author CODYY)peijiangping
 */
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private String username;
private String password;
private String key;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
username = request.getParameter("username");
password = request.getParameter("password");
key=username+"00";
if (doyanzheng() == true) {
MyDbHelper db = new MyDbHelper();
try {
String sql = "insert into test(username,keyname) values('"+username+"','"+key+"')";
db.insert(sql);
db.closed();
} catch (Exception e) {
e.printStackTrace();
}
// 跳转界面,进入metting.jsp传name值过去
// request.setAttribute("key", key);
// request.getRequestDispatcher("/jsp/metting.jsp").forward(request,
// response);
response.sendRedirect("/Good/jsp/metting.jsp?key="+key); 
}
}

private boolean doyanzheng() {
// 验证用户名和密码
return true;
}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
/* 接收post请求 */
doGet(request, response);
}
}
--------------------编程问答-------------------- 通过JSON来做数据交互吧。
例如:客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果组装为JSON返回给客户端。

楼主说的那种客户端直接连接到服务器的数据库进行操作,理论上是行不通的。 --------------------编程问答-------------------- 连接oracle数据库最好是使用webservice访问。。不过这样需要在服务器端编写并部署webservice服务 --------------------编程问答--------------------
引用 4 楼 wenlin56 的回复:
通过JSON来做数据交互吧。
例如:客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果组装为JSON返回给客户端。

楼主说的那种客户端直接连接到服务器的数据库进行操作,理论上是行不通的。

我就是想要客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果返回给客户端,除了您说的JSDN,还有别的方法么? --------------------编程问答--------------------
引用 6 楼 zm906 的回复:
引用 4 楼 wenlin56 的回复:
通过JSON来做数据交互吧。
例如:客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果组装为JSON返回给客户端。

楼主说的那种客户端直接连接到服务器的数据库进行操作,理论上是行不通的。

我就是想要客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果返回给客户端,除了您说的JSDN,还有别的方法么?

你可以去看看android的HTTP操作中的get和post,可以做到。
但是你把SQL语句发送到服务器,有没有考虑过安全性方面的问题?
如果这样做那就根本没有安全性可言了,任何人只要知道了网址就可以进行SQL注入了,估计毕业设计也够呛。
我建议你在服务器端使用webservice,客户端调用webservice里面的方法。或者还是使用HTTP操作,调用里面的方法,而不是直接传SQL语句 --------------------编程问答-------------------- 发送sql语句去服务器是大错特错的。。 --------------------编程问答-------------------- 既然是菜鸟为啥要用Orecale呢,还是用MySql吧,先上手再说 --------------------编程问答-------------------- 通過WEBSERVICE連ORCLE吧,這樣最簡單,而且各平臺對對WEBSERVICE都有很我的支持 --------------------编程问答--------------------
引用 7 楼 fire_fire_fire 的回复:
引用 6 楼 zm906 的回复:
引用 4 楼 wenlin56 的回复:
通过JSON来做数据交互吧。
例如:客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果组装为JSON返回给客户端。

楼主说的那种客户端直接连接到服务器的数据库进行操作,理论上是行不通的。

我就是想要客户端发送一段SQL语句到服务器,服务器发送到数据库执行,将执行结果返回给客户端,除了……


同意。 --------------------编程问答-------------------- 我用webservice现在是实现了,但是在手机上的性能不是很理想,速度比较慢!很困惑!
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,