你的程序里用的是JDBC连接,你要连到百度的数据库上,你就需要使用百度提供的数据库开放API, 以及相应的接口。那么百度自己的数据库是按照JDBC的形式开发的么? 如果不是的话你就要重写数据库连接和操作的代码。
解决方案 »
- 四台应用服务器同步读数据库
- 一道编程实现求解(急)
- ibatis框架中 为什么使用case when 语句,无法解析
- 我在编写一个java连接SQL2000的时候说JdbTable无法为简析类型求助
- 项目启动时报错: com.opensymphony.module.sitemesh.factory.FactoryException:(<<struts2.0权威指南>>最后的项目例子)
- 请问 :jsf 的组件响应 !
- Struts+Hibernate+Spring的一个小疑问?
- 100分求救!!!!!! 如何在jbuilder9 enterprise 版本中实现 EJB 编程
- Hibernate+tomcat的問題
- 开发实体EJB遇到新问题
- ireport 分组问题
- spring 架构运行错误,请各位大侠帮忙了
不知道咋修改,请大神一定帮帮忙!我的百度平台数据库名字是:XvcHUKJAEYILyQtkXebj
项目域名是:tedrenren.duapp.com<%
//(1)指定服务地址,其中dbname需要自己修改
//String dbUrl = "jdbc:mysql://sqld.duapp.com:4050/dbname";
//(2)直接从请求header中获取ip、端口、用户名和密码信息
//String host = request.getHeader("BAE_ENV_ADDR_SQL_IP");
//String port = request.getHeader("BAE_ENV_ADDR_SQL_PORT");
//String username = request.getHeader("BAE_ENV_AK");
//String password = request.getHeader("BAE_ENV_SK");
//(3)从线程变量BaeEnv接口获取ip、端口、用户名和密码信息
String host = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_ADDR_SQL_IP);
String port = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_ADDR_SQL_PORT);
String username = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_AK);
String password = BaeEnv.getBaeHeader(BaeEnv.BAE_ENV_SK);
String driverName = "com.mysql.jdbc.Driver";
String dbUrl = "jdbc:mysql://";
String serverName = host + ":" + port + "/";
//从平台查询应用要使用的数据库名
String databaseName = "mCMiaZybhmnkeuAMtBSq";
String connName = dbUrl + serverName + databaseName;
String sql = "select * from mxs_test_table";
Connection connection = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName(driverName);
//具体的数据库操作逻辑
connection = DriverManager.getConnection(connName, username,
password);
stmt = connection.createStatement();
rs = stmt.executeQuery(sql);
String id = "", name = "", pwd = "";
while (rs.next()) {
id = rs.getString("id");
name = rs.getString("uname");
pwd = rs.getString("pwd");
}
} catch (ClassNotFoundException ex) {
// 异常处理逻辑
} catch (SQLException e) {
// 异常处理逻辑
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
}
}
%>
2. 将应用托管到BAE平台(采用Java模式)
3. 选择创建一个MySQL数据库(一个月免费1G容量, 256m内存)
4. 编写Web程序,并通过SVN上传到BAE托管项目地址相信前三步你已经搞定了,第四步需要用的SVN由于百度BAE指明了不支持jndi, 所以你的本地程序的ctx肯定是不能用的。
关于百度给出的JSP的那个例子,其中的(2)和(3)都需要在运行时获取BAE,然后再调用,所以明显不适合你本机调试,因此(1)中的方法比较实用,直接用域名+用户名和密码不过百度Web应用直接通过域名+用户名和密码的方式我还没有试验出来,根据百度的说明,我都不知道他们是不是关闭了散户应用的域名,这些还有待研究。另外,百度应用主页上有个SSH的例子,说是上传了就能用,你可以试一试
先谢谢你这么认真回答我们新手的问题!
每个项目百度都分配了域名的,我的项目就是:tedrenren.duapp.com我一会儿去主页上看看~
来晚了
不知道楼主问题解决没有?
其实不用这么麻烦,数据库的url、user、password都是不会变的。
private static final String DRIVERNAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://sqld.duapp.com:4050/GUZhpiTXihEJJgYpIWHz";
private static final String USER = "t8gCcU8htrF2nErhKlggXIKt";
private static final String PWD = "VBdqaX2VYrjcaSWeLEEEfENN5X9mDzeb";
URL后面的数据库名只有你自己能看到,前面那一段相同
USER就是API Key
PWD就是Secret Key//这两个东西你在web应用管理那可以看到,那里还有个重置按钮可以重置这两个东西,看到没?
没找到的话你可以import com.baidu.bae.api.util.BaeEnv; 导入这个包,按照它提示的来。只是BaeEnv这个类你没办法导入到本地。
反正我是直接写成常量了
来晚了
不知道楼主问题解决没有?
其实不用这么麻烦,数据库的url、user、password都是不会变的。
private static final String DRIVERNAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://sqld.duapp.com:4050/GUZhpiTXihEJJgYpIWHz";
private static final String USER = "t8gCcU8htrF2nErhKlggXIKt";
private static final String PWD = "VBdqaX2VYrjcaSWeLEEEfENN5X9mDzeb";
URL后面的数据库名只有你自己能看到,前面那一段相同
USER就是API Key
PWD就是Secret Key//这两个东西你在web应用管理那可以看到,那里还有个重置按钮可以重置这两个东西,看到没?
没找到的话你可以import com.baidu.bae.api.util.BaeEnv; 导入这个包,按照它提示的来。只是BaeEnv这个类你没办法导入到本地。
反正我是直接写成常量了我晕,数据库暴露了,求不黑~
来晚了
不知道楼主问题解决没有?
其实不用这么麻烦,数据库的url、user、password都是不会变的。
private static final String DRIVERNAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://sqld.duapp.com:4050/GUZhpiTXihEJJgYpIWHz";
private static final String USER = "t8gCcU8htrF2nErhKlggXIKt";
private static final String PWD = "VBdqaX2VYrjcaSWeLEEEfENN5X9mDzeb";
URL后面的数据库名只有你自己能看到,前面那一段相同
USER就是API Key
PWD就是Secret Key//这两个东西你在web应用管理那可以看到,那里还有个重置按钮可以重置这两个东西,看到没?
没找到的话你可以import com.baidu.bae.api.util.BaeEnv; 导入这个包,按照它提示的来。只是BaeEnv这个类你没办法导入到本地。
反正我是直接写成常量了我晕,数据库暴露了,求不黑~
这样可以了吗?
来晚了
不知道楼主问题解决没有?
其实不用这么麻烦,数据库的url、user、password都是不会变的。
private static final String DRIVERNAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://sqld.duapp.com:4050/GUZhpiTXihEJJgYpIWHz";
private static final String USER = "t8gCcU8htrF2nErhKlggXIKt";
private static final String PWD = "VBdqaX2VYrjcaSWeLEEEfENN5X9mDzeb";
URL后面的数据库名只有你自己能看到,前面那一段相同
USER就是API Key
PWD就是Secret Key//这两个东西你在web应用管理那可以看到,那里还有个重置按钮可以重置这两个东西,看到没?
没找到的话你可以import com.baidu.bae.api.util.BaeEnv; 导入这个包,按照它提示的来。只是BaeEnv这个类你没办法导入到本地。
反正我是直接写成常量了我晕,数据库暴露了,求不黑~谢谢。。这样是可以的。
这个把eclipse插件配置好就带有相关包了,也包含这个包。http://developer.baidu.com/wiki/index.php?title=docs/cplat/ide/install这是插件配置的相关介绍,可以参考一下。
来晚了
不知道楼主问题解决没有?
其实不用这么麻烦,数据库的url、user、password都是不会变的。
private static final String DRIVERNAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://sqld.duapp.com:4050/GUZhpiTXihEJJgYpIWHz";
private static final String USER = "t8gCcU8htrF2nErhKlggXIKt";
private static final String PWD = "VBdqaX2VYrjcaSWeLEEEfENN5X9mDzeb";
URL后面的数据库名只有你自己能看到,前面那一段相同
USER就是API Key
PWD就是Secret Key//这两个东西你在web应用管理那可以看到,那里还有个重置按钮可以重置这两个东西,看到没?
没找到的话你可以import com.baidu.bae.api.util.BaeEnv; 导入这个包,按照它提示的来。只是BaeEnv这个类你没办法导入到本地。
反正我是直接写成常量了我晕,数据库暴露了,求不黑~谢谢。。这样是可以的。
我的老是这样的问题
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
怎么解决呢
来晚了
不知道楼主问题解决没有?
其实不用这么麻烦,数据库的url、user、password都是不会变的。
private static final String DRIVERNAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://sqld.duapp.com:4050/GUZhpiTXihEJJgYpIWHz";
private static final String USER = "t8gCcU8htrF2nErhKlggXIKt";
private static final String PWD = "VBdqaX2VYrjcaSWeLEEEfENN5X9mDzeb";
URL后面的数据库名只有你自己能看到,前面那一段相同
USER就是API Key
PWD就是Secret Key//这两个东西你在web应用管理那可以看到,那里还有个重置按钮可以重置这两个东西,看到没?
没找到的话你可以import com.baidu.bae.api.util.BaeEnv; 导入这个包,按照它提示的来。只是BaeEnv这个类你没办法导入到本地。
反正我是直接写成常量了我晕,数据库暴露了,求不黑~
这样可以了吗?这是我部署的一个商城。。 http://taoshu123.duapp.com 也是java的
不知道楼主问题解决没有?
其实不用这么麻烦,数据库的url、user、password都是不会变的。
private static final String DRIVERNAME = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://sqld.duapp.com:4050/GUZhpiTXihEJJgYpIWHz";
private static final String USER = "t8gCcU8htrF2nErhKlggXIKt";
private static final String PWD = "VBdqaX2VYrjcaSWeLEEEfENN5X9mDzeb";
URL后面的数据库名只有你自己能看到,前面那一段相同
USER就是API Key
PWD就是Secret Key//这两个东西你在web应用管理那可以看到,那里还有个重置按钮可以重置这两个东西,看到没?
没找到的话你可以import com.baidu.bae.api.util.BaeEnv; 导入这个包,按照它提示的来。只是BaeEnv这个类你没办法导入到本地。
反正我是直接写成常量了我晕,数据库暴露了,求不黑~
这样可以了吗?请教下 为什么我这样写不行 还会报错啊