如何找到网站源码中的数据库

如何找到网站源码中的数据库,第1张

网站环境不同,不同程序有不同的数据库配置位置以discuz为例,其他的随机应变:

Discuz论坛的数据库在程序中有设置文件对应查询账号密码,目录位置:

/config/config_global.php

/uc_server/data/config.inc.php

/config/config_ucenter.php

文件都含有Discuz论坛数据库的登录账号密码信息,可以参考查询数据库信息。

网站本身的数据库是和程序分开的,大部分主机都是储存在两个空间。小型虚拟主机,没有权限查看数据库文件,但是会提供在线管理的工具,一般在空间后台有提供链接。

云主机,快云VPS,云服务器,以及独立主机,都有远程服务器管理权限的,直接登录远程,就可以查看数据库位置。

目前的情况看,快云VPS都自带云数据库,也有管理平台,可以后台直接打开,登录管理数据库。

1、首先双击plsql图标,进入登录界面,输入用户名和密码,输送数据库实例名。

2、点击左上角new,并点击sql window,进入到数据库界面。

3、该图是数据库存储过程的简单布局。有存储过程的定义,包括输入变量、输出变量等,输入变量以in定义,输出以out定义;变量部分:可根据程序需求自行定义;数据处理逻辑部分:可加上增删改差表的 *** 作;异常处理部分:当程序执行异常时处理。

4、当一个存储过程写好之后,需要点击左上角执行按钮,或者快捷键F8,编译通过后便可调试程序了。找到需要调试的存储过程,右键点击test进入到调试界面。

5、点击左上角调试按钮。

6、下图标识区域,分别是调试按钮,可以单步执行,可以跳过整段执行,也可以跳出。

1.用jdbc连接数据库

public class DBConn {

private Connection con

public Connection DBConn() {

//连接数据库的属性

String driver="sun.jdbc.odbc.JdbcOdbcDriver"

//获得数据库的真实路径

String dburl = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))

dburl = dburl + "lyb.mdb"//得到文件的URL: 'file:/C:\...'

dburl = dburl.substring(dburl.indexOf("/")+1)//去掉'file:/'

//dburl.replaceAll("%20"," ")

System.out.println("dburl:"+dburl)//测试用,运行的时候显示绝对路径

dburl="E:/lyb/WebRoot/WEB-INF/classes/lyb.mdb"

String accessUrl="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}DBQ="+dburl

try{

Class.forName(driver)

con = DriverManager.getConnection(accessUrl)

}catch(Exception e){

e.printStackTrace()

}

return con

}

}

2.比如查询数据库中的record表,record表中存放的是实体MessageVO.

public Collection getMessage() throws Exception{

//SQL语句,从record里面获得所有数据

String getLy="select count(*) from record"

String getLy1="select * from record order by id desc"

Collection ret=new ArrayList()

try{

if(con==null) System.out.println("con=null")

Statement stm=con.createStatement()

ResultSet res=stm.executeQuery(getLy)

int msg_count=0

if(res.next()){

msg_count=res.getInt(1)

res.close()

}

if(msg_count>0){

res=stm.executeQuery(getLy1)

while(res.next()){

int id=res.getInt("id")

String title=res.getString("title")

String name=res.getString("name")

String email=res.getString("email")

String content=res.getString("content")

java.sql.Timestamp ts=res.getTimestamp("ly_date")

java.sql.Date date=new java.sql.Date(ts.getTime())

//System.out.println(date)

MessageVO message=new MessageVO()

message.setId(id)

message.setTitle(title)

message.setName(name)

message.setEmail(email)

message.setContent(content)

message.setDate(date)

ret.add(message)

}

res.close()

stm.close()

}

con.close()

}catch(Exception e){

e.printStackTrace()

throw e

}

return ret

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6842587.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-29
下一篇2023-03-29

发表评论

登录后才能评论

评论列表(0条)

    保存