惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
小众软件
小众软件
J
Java Code Geeks
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
腾讯CDC
L
LangChain Blog
博客园 - 司徒正美
量子位
Y
Y Combinator Blog
C
Check Point Blog
T
Tailwind CSS Blog
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
V
V2EX
阮一峰的网络日志
阮一峰的网络日志

博客园 - PCJIM

通过批处理临时部署ASP.NET MVC程序 Windows CE中用ENTER键实现TAB键的功能 - PCJIM - 博客园 商业智能简介(网上收集) SQL Server 2005/2008 触发器的管理和查看 批量更新SQL Server数据库的用户视图 中国软件业正在转型中 程序员职业规划(转) 制作软件多语言安装包的注意点 你选择大城市当草根,还是小城市做精英(转) KB939373、KB942830、KB942831补丁,影响XP(SP2)IIS正常启动。 程序员如何缓解压力,保持心理健康(网上收集) 使用.bat 文件,批量编译项目文件。 祝博客园里的所有朋友 新年快乐! 忙,工作实在是太忙了! 祝大家圣诞节快乐! 当前 Firefox Plus 的最新版本是 2.0.0.8,您正在使用的版本是 2.0.0.11,我们强烈建议您立即升级到最新版本。 个人走向成功的基本方法 项目管理九大知识体系(转) 使用汉化版srvinstw.exe安装/卸载Windows系统服务
客户端实时获取Oracle数据库服务器端的系统时间
PCJIM · 2008-02-04 · via 博客园 - PCJIM

最近参与了一个基于Oracle10g数据库的C/S项目,抽空整理了一些技术相关的资料,发上来供大家一起参考学习。
项目中用到这样一个功能:客户端实时获取Oracle数据库服务器端的系统时间。
该功能的实现,主要是通过从客户端向Oracle服务器端执行"SELECT SYSDATE FROM DUAL"查询,从而返回Oracle的当前时间。

代码示例如下:
/// <summary>
/// 获取Oracle服务器端时间
/// </summary>
/// <param name="oraconnstr">Oracle连接字段</param>
/// <returns>Oracle的当前时间</returns>
public DateTime GetServerDate(string oraconnstr)
{
    string sqlstr = "SELECT SYSDATE FROM DUAL";// 查询Oracle的当前时间
    using (OracleConnection cn = new OracleConnection(oraconnstr))
    {
        cn.Open();
        try
        {
            using (OracleCommand cm = new OracleCommand(sqlstr, cn))
            {
                using (OracleDataReader dr = cm.ExecuteReader())
                {
                    if (dr.Read())
                    {
                        return (DateTime)dr["SYSDATE"];
                    }
                }
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message,"查询Oracle的当前时间",MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    return DateTime.MinValue;
}

/// <summary>
/// 测试获取Oracle服务器端时间(1s一次)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tmrGetDateTime_Tick(object sender, EventArgs e)
{
    string oraconnstr = "Data Source=ORACL;User ID=TEST;Password=TEST;Unicode=True";// Oracle连接字段
    labDateTime.Text = "当前服务器时间:" + GetServerDate(oraconnstr).ToString();// 获取Oracle服务器端时间
}