java 怎么获取数据库的编码以及配置信息

java 怎么获取数据库的编码以及配置信息,第1张

Java也可以执行Mysql命令,你可以使用sql

语句,如下:

mysql>

SHOW

VARIABLES

LIKE

'%char%set%';

+--------------------------+----------------------------------+

|

Variable_name

|

Value

|

+--------------------------+----------------------------------+

|

character_set_client

|

utf8

|

|

character_set_connection

|

utf8

|

|

character_set_database

|

gbk

|

|

character_set_filesystem

|

binary

|

|

character_set_results

|

utf8

|

|

character_set_server

|

gbk

|

|

character_set_system

|

utf8

|

|

character_sets_dir

|

/u01/mysql/share/mysql/charsets/

|

+--------------------------+----------------------------------+

8

rows

in

set

mysql>

SHOW

VARIABLES

LIKE

'port';

+---------------+-------+

|

Variable_name

|

Value

|

+---------------+-------+

|

port

|

3306

|

+---------------+-------+

1

row

in

set

你如果想获取所有配置信息可以使用:

SHOW

VARIABLES命令。

<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#a8c7ce">

<tr align="center" height="25" bgcolor="d3eaef">

<td width="5%">

编号

</td>

<td width="10%">

标题

</td>

<td width="23%">

内容

</td>

<td width="10%">

发表日期

</td>

<td width="16%">

基本 *** 作

</td>

</tr>

<%

//获取新闻信息集合,newList是从后台返回来的集合变量

List nList = (List) sessiongetAttribute("newList");

NewsEntity new = null;

if (nListsize() <= 0) {

%>

<tr height="22" bgcolor="#FFFFFF" align="center">

<td colspan="9" align="center">

暂无新闻信息

</td>

</tr>

<%

} else {

for (int i = 0; i < nListsize(); i++) {

new = (NewsEntity) mListget(i);

%>

<tr height="22" bgcolor="#FFFFFF" align="center">

<td>

<%=newgetId() %>

</td>

<td>

<%=newgetTitle() %>

</td>

<td>

<%=newgetContent() %>

</td>

<td>

<%=newtime() %>

</td>

<td>

<a href="MusicServletforward=getNewsDetailById&ID=<%=newgetId()%>" >

<span class="STYLE2">编辑</span> </a> | 

<a href="MusicServletforward=doDelNewsById&ID=<%=newgetId()%>"

onclick="return confirm('您确定要删除该条信息吗?');"><span

class="STYLE2">删除</span> </a>

</td>

</tr>

<%

}

}

%>

</table>

捕捉SQL Server 2005数据库大小的趋势,这是非常重要的,因为DBA们可以利用这些信息来规划未来的空间需求,问题的通知类型,并规划繁重负载的时间段。本文将介绍一种捕捉这一信息的简单的方法。

SQL Server上的每个数据库都包含了关于数据库文件的大小的信息,连同其他一些相关信息。为了得到这个信息,我们需要一个方法来从单个数库中一次性检索出相关的数据。

有两个方法可以实现这个功能:

sp_spaceused:这个系统存储过程将返回当前数据库中的表、索引视图或 SQL Server 2005 Service Broker 队列所使用的磁盘空间。这是存储过程的返回数据库或者数据库中表的大小,但是报告的输出内容不太友好,不好理解。该存储过程通过脚本来捕获每个数据库的信息,但它可能需要用到用户自定义的光标。

sp_msforeachdb:这是一个非常有用的系统存储过程,将任何SQL脚本传递给你在每个数据库上的SQL Server实例上来执行。存储过程遍历每个数据库,这样就省却了您一项项指定数据库名称了。本文我们将利用这个存储过程来捕获各个数据库文件大小的信息。

这些资料我想收集和储存可以在sysdatabase_files系统视图中获得,包括数据库文件的大小,以及其他一些相关的信息,如数据库状态,数据库文件的增长方式(按绝对大小递增还是按百分比递增),是否是只读的等等。我需要捕获每个数据库中的这些信息。

IFOBJECT_ID('DatabaseFiles')ISNULLBEGINSELECTTOP0INTODatabaseFiles

FROMsysdatabase_files

ALTERTABLEDatabaseFiles

ADDCreationDateDATETIMEDEFAULT(GETDATE())END现在需要填充DatabaseFiles数据表。下面这个脚本使用sp_msforeachdb存储过程,并通过一个SQL脚本从sysdatabase_files读取数据,并插入到DatabaseFiles数据表中。

EXECUTE sp_msforeachdb 'INSERT INTO DatabaseFiles SELECT , GETDATE() FROM []sysdatabase_files'

从脚本中我们可以发现,每个数据库的数据库名称,有点特别:使用[ ]作为视图sysdatabase_files的前缀。

此代码执行时,实际上是遍历每个数据库实例,将数据库名称作为参数代替[ ]标记。每个数据库的信息,将插入到DatabaseFiles表。这比自己写一个自定义游标实现起来容易很多。我还增加了一个GETDATE( )函数,用来记录记录插入到表中的时间。

注意:这个例子有点违背编码标准,使用SELECT 插入到一个表时,没有明确写明字段名称不列清单。如果用于实际项目中,建议大家作下修改,注明字段名称。

为了确保正确捕获到所有的数据,我们来看看DatabaseFiles数据表中的内容。

SELECT FROM DatabaseFiles

执行上面的命令后,可以得到类似以下的信息:

ClassforName("commysqljdbcDriver");

Connection conn=DriverManagergetConnection("jdbc:mysql://"+host+"/"+dbname,username,password);

Statement Stmt=conncreateStatement();

ResultSet rs=StmtexecuteQuery(sql);

这是基本的数据库 *** 作方法

大概流程就是加载驱动类,创建连接,执行数据库 *** 作,关闭

hibernate怎么获取数据库表字段等信息

教你个方法:

List result = sessioncreateSQLQuery(sql)

setResultTransformer(TransformersALIAS_TO_ENTITY_MAP)list()

用这个方法可以把数据库查询出来的每一行封装成一个Map类型,Key为数据库字段,Value为值,

然后把这些Map放到了一个List里面,

如果你只返回一条记录:

那么

Map<String, Object> map = (Map<String, Object>) resultget(0);

即可得到你这一行记录转换层的Map,

如果有多条,迭代List即可。

希望对你有帮助

以上就是关于java 怎么获取数据库的编码以及配置信息全部的内容,包括:java 怎么获取数据库的编码以及配置信息、JSP获取数据库信息、SQL Server 2005中如何获取数据库文件大小信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/10044354.html

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

发表评论

登录后才能评论

评论列表(0条)

保存