定时读取数据库
‘壹’ java怎么实现每天定时读取文件,然后在写到数据库中呢
不是java定时读取,而是系统调度
比如你写了一个java程序,这个程序是读取文件,写到数据库中。那么这个程序怎么才能定时启动。是操作系统调度的问题了。不是java的问题。所以要用操作系统的调度。
如果在win服务器下,可以下一个cmd文件。文件中调用java程序,然后将cmd设置成每天几点执行
如果是linxu或者unix下,则使用crontab调度。
当然,如果你非要用java程序来调度。那么这个程序肯定要常驻内存,并且进行睡眠。这种方式没有意义。
‘贰’ 怎样让spark定时读数据库数据
RDD:AResilientDistributedDataset(RDD),thebasicabstractioninSpark.rdd是一个分布式的数据集,数据分散在分布式集群的各台机器上,更像是一张关系型数据表,是一种spark独有的数据格式吧,这种格式的数据可以使用sqlcontext里面的函数
‘叁’ 如何实现每天定时对数据库的操作
比如你写了一个java程序,这个程序是读取文件,写到数据库中。那么这个程序怎么才能定时启动。是操作系统调度的问题了。不是java的问题。所以要用操作系统的调度。
如果在win服务器下,可以下一个cmd文件。文件中调用java程序,然后将cmd设置成每天几点执行
如果是linxu或者unix下,则使用crontab调度。
当然,如果你非要用java程序来调度。那么这个程序肯定要常驻内存,并且进行睡眠。这种方式没有意义。
‘肆’ net b/s 结构如何实现定时 访问数据库
class Program
{
static void Main(string[] args)
{
//OpenConnection();
//AddRecord();
//DelRecord();
//SoftDelRecord();
//QuertSingle();
//QueryByDataReader();
//QueryByDataAdapter2();
Console.ReadKey();
}
/// <summary>
/// 测试连接通道
/// </summary>
public static void OpenConnection()
{
//1.连接通道的连接字符串
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
//2.连接通道对象
SqlConnection conn = new SqlConnection(conStr);
//3.打开通道
conn.Open();
//4.关闭通道
conn.Close();
//5.释放资源
conn.Dispose();
//测试
Console.WriteLine("******************************");
}
/// <summary>
/// 新增记录
/// </summary>
public static void AddRecord()
{
//接收新增受影响的行数
int res = -1;
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
SqlConnection conn = new SqlConnection(conStr);
//sql语句
string sqlStr = "insert into T_Employee(FNumber,FName,FAge,FSalary) values('ki401','Amy','24','5600.00')";
//新建命令对象
SqlCommand cmd = new SqlCommand(sqlStr, conn);
conn.Open();
//调用方法去数据库执行sql语句
res = cmd.ExecuteNonQuery(); //此方法用于增删改(非查询语句),返回受影响的行数(int)
cmd.Dispose();
conn.Close();
if (res > 0)
{
Console.WriteLine("新增成功!!");
}
else
{
Console.WriteLine("新增失败!!");
}
conn.Dispose();
}
/// <summary>
/// 删除记录
/// </summary>
public static void DelRecord()
{
int res = -1;
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
SqlConnection conn = new SqlConnection(conStr);
string sqlStr = "delete T_Employee where fname = 'Amy'";
SqlCommand cmd = new SqlCommand(sqlStr, conn);
conn.Open();
res = cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
if (res > 0)
{
Console.WriteLine("删除成功!!!");
}
else
{
Console.WriteLine("删除失败!!!");
}
conn.Dispose();
}
/// <summary>
/// 软删除(更新)记录
/// 将表中FisDel改为true
/// </summary>
public static void SoftDelRecord()
{
int res = -1;
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
SqlConnection conn = new SqlConnection(conStr);
string sqlStr = "update T_Employee set fisdel=1 where fid=1";
SqlCommand cmd = new SqlCommand(sqlStr, conn);
conn.Open();
res = cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
if (res > 0)
{
Console.WriteLine("软删除成功!!!");
}
else
{
Console.WriteLine("软删除失败!!!");
}
conn.Dispose();
}
/// <summary>
/// 查询单个值
/// </summary>
public static void QuertSingle()
{
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
SqlConnection conn = new SqlConnection(conStr);
conn.Open();
//string sqlStr = "select count(*) from T_Employee";
string sqlStr = "select * from T_Employee";
SqlCommand cmd = new SqlCommand(sqlStr, conn);
Object obj = cmd.ExecuteScalar(); //调用此方法,获得查询语句在数据库执行后得到的结果集的第一个单元格的值,返回值为Object类型
cmd.Dispose();
conn.Close();
Console.WriteLine(obj.ToString());
conn.Dispose();
}
/// <summary>
/// 查询多行数据(有两种方法)
/// </summary>
//方法1 -- DataReader,逐行读取数据
//DataReader通过连接通道在数据库维护一个结果集,每次执行Read()方法去数据库的这个结果集中拿取下一行数据
public static void QueryByDataReader()
{
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
SqlConnection conn = new SqlConnection(conStr);
conn.Open();
string sqlStr = "select * from T_Employee";
SqlCommand cmd = new SqlCommand(sqlStr, conn);
SqlDataReader dr = cmd.ExecuteReader(); //调用此方法,还获得一个SqlDataReader对象
if (dr.HasRows) //如果结果集中有数据行,则返回true
{
while (dr.Read()) //Read方法:如果读到下一行数据,则返回true,而且本身就等于那一行数据
{
//通过类似索引的方式
//Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString());
//通过列名的方式
//Console.WriteLine(dr["fid"].ToString() + " " + dr["fname"].ToString());
//通过GetString()的方法,必须确保该列内没有null
Console.WriteLine(dr.GetString(1) + " " + dr.GetDecimal(4));
//GetOrdinal()方法,通过给定列名,获得在结果集中的索引,返回值为int类型,常与上面GetString()方法联用
//Console.WriteLine(dr.GetString(dr.GetOrdinal("fnumber")));
//GetValue()方法,给定结果集中的索引,获得结果集中对应的值,返回值为Object类型
//Console.WriteLine(dr.GetValue(dr.GetOrdinal("fname")).ToString());
}
}
else
{
Console.WriteLine("无数据!!!");
}
//释放SqlDataReader占用的资源
dr.Dispose();
cmd.Dispose();
conn.Close();
conn.Dispose();
}
//方法2 -- DataAdapter,一次性取回结果集
public static void QueryByDataAdapter()
{
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
SqlConnection conn = new SqlConnection(conStr);
//不需要conn.Open();
string sqlStr = "select * from T_Employee";
//创建DataAdapter对象
SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
//创建DataSet(数据集)对象(程序端的临时数据库)
DataSet ds = new DataSet();
//调用Fill()方法,填充数据集(先去数据库结果集,并把结果集复制给数据集)
//给取到的表取别名“table1”
da.Fill(ds,"table1");
//获取数据集中的第一张表(通过索引)
DataTable dt = ds.Tables[0]; //或ds.Tables["table1"]
//循环数据表中的第一行
for (int i = 0; i < dt.Rows.Count; i++)
{
//将循环到的行给对象dr
DataRow dr = dt.Rows[i];
Console.WriteLine(dr[0].ToString());
}
ds.Dispose();
da.Dispose();
}
/// <summary>
/// 使用DataAdapter填充数据表
/// </summary>
public static void QueryByDataAdapter2()
{
string conStr = @"Persist Security Info=False;Trusted_Connection=True;database=temp;server=(local)";
SqlConnection conn = new SqlConnection(conStr);
//不需要conn.Open();
string sqlStr = "select * from T_Employee";
//创建DataAdapter对象
SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
//调用Fill()方法,填充数据表(先去数据库结果集,并把结果集复制给数据表)
DataTable dt = new DataTable();
da.Fill(dt);
//循环数据表中的第一行
for (int i = 0; i < dt.Rows.Count; i++)
{
//将循环到的行给对象dr
DataRow dr = dt.Rows[i];
Console.WriteLine(dr[0].ToString());
}
dt.Dispose();
da.Dispose();
}
}
‘伍’ c#定时读取数据库显示在界面上,然后会很快的一闪一闪的,怎么消除这种闪烁呢,求大神帮帮忙啊。代码如下
简单的办法是使用vs 组件Timer定时获取数据,在Timer组件的Tick方法中执行定时取数据的任务
然后根据你获取的数据绘制页面图形,具体绘制那些内容自己处理
‘陆’ 如何定时从一个数据库中读取数据到另外一个数据库中
如果是sql server 可以用调度定时自动复制或更新到另一个数据库。
ORECAl等其他大型数据库类似做法。
小型数据库的话只能编程了,比如delphi。用时间控件来实现
‘柒’ 如何让程序定时到数据库中读取数据
定时任务quartz了解一下。
‘捌’ 如何实现一个定时任务来对数据库中的数据进行操作
由于公司的新接得项目要实现一批数据的同步,通过外围厂商提供的一系列各个系统的webervices接口定时将数据同步到我们开发的共享平台上,由于厂商系统的数据是不断在变化以及各系统闲忙时的特点,所以定时同步任务的执行必须在时间上能够动态配置。因此,我们需要动态的从数据库中获取配置信息,以改变各个定时间的执行规则,废话不说了,上代码:(我利用的是ssh框架直接写的,框架搭建不再叙述)
1.创建数据表(我用的是MySQL)
[sql] view plain
DROP TABLE IF EXISTS `t_wsdoc`;
CREATE TABLE `t_wsdoc` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`triggername` varchar(50) NOT NULL,
`jobdetailname` varchar(50) N
‘玖’ ajax怎么定时读取数据库中的信息
function showLogs()
{
$("#table2").empty(); //这是清空原来的数据
$.ajax({
type:"post",
url:"<%=request.getContextPath()%>/logs/queryLogsInfo.action",
dataType:"json",
success:function(data)
{
for ( var i = 0; i < data.length; i++)
{
$("#table2").append("<tr style='line-height:25px;'>"
+"<td width='5%'>"+data[i].id+"</td>"
+"<td width='5%'>"+data[i].receive+"</td>"
+"<td width='8%'>"+data[i].data+"</td>"
+"<td width='10%'>"+data[i].dataLength+"</td>"
+"</tr>");
}
}
})
}
var t = setInterval("showLogs()", 1000); //隔1秒就查询一次数据
‘拾’ 关于JSP定时从数据库读取数据并显示的问题
如果不想ajax,而且,又不想刷新当前页面,又要实现定时读取,可以考虑用iframe,在iframe中引入另一个页面A,让页面A进行定时刷新,读取数据,再让A页面修改当前页面的数据。看你到底想要实现什么样的。如果还是不知怎么实现,可以一起研究研究。