后台单线程每隔一定时间自动更新,从oracle数据库用两种方式读取数据,并将数据导出到DBF文件。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.Data.OracleClient;

using System.Threading;

using System.Data.Odbc;

namespace RealtimeReadOrcaleSite

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

WebpageCrawling();

//SqlInterface();

}

//每隔一定时间自动抓取网页数据,并更新数据库

private void WebpageCrawling()

{

//创建线程

Thread mythread = new Thread(UpdateCrawlingThread);

mythread.SetApartmentState(ApartmentState.STA);//属性设置成单线程

mythread.IsBackground = true;//设置为后台线程

mythread.Start();

}

//单线程,每隔一段时间抓取一次

private void UpdateCrawlingThread(Object state)

{

while (true)

{

OneCrawling();

Thread.Sleep(10 * 60 * 1000);//毫秒为单位

}

}

//一次抓取过程

private void OneCrawling()

{

//时间性能测试

DateTime starttime = DateTime.Now;

try

{

string strConn = "data source=portal_rac;user id=name_user;password=name_user123";

using (OracleConnection oracleConn = new OracleConnection(strConn))

{

oracleConn.Open();

OracleCommand oracleCommand = oracleConn.CreateCommand();

string strComm = " SELECT stano FROM observe.ele_awst_traffic3";

//oracleCommand.CommandText = strComm;

//OracleDataReader oracleReader = oracleCommand.ExecuteReader();//C#的话,如果返回结果超过500行,建议使用DataAdapter,返回少量行数,就像分页显示的,

建议用,DataReader前者适合于返回大量数据,后者适合返回小量数据。

//int i = 0;

//while (oracleReader.Read())

//{

// break;

// i++;

// //MessageBox.Show("1", oracleReader[0].ToString());

// //break;

// if (i % 10000 == 0)

// {

// MessageBox.Show(i.ToString(), oracleReader[0].ToString());

// }

//}

//MessageBox.Show(oracleReader.VisibleFieldCount.ToString(), oracleReader[18].ToString());

//oracleReader.Close();

OracleDataAdapter myda = new OracleDataAdapter(strComm, oracleConn);

DataSet myds = new DataSet();

myda.Fill(myds, "temp");

//MessageBox.Show(myds.Tables["temp"].Rows[0]["TEMP"].ToString());

oracleConn.Close();//

System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();

string table = @"C:\test.dbf";

string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";

conn.ConnectionString = connStr;

conn.Open();

OdbcCommand cmd = new OdbcCommand();

cmd.Connection = conn;

string sql = "CREATE TABLE " + table + " (cc int(10));";

sql += "insert into " + table + " (stano) values (33000);";

cmd.CommandText = sql;

cmd.CommandType = CommandType.Text;

cmd.ExecuteNonQuery();

//sql = @"select * from " + table;

//OdbcDataAdapter da = new OdbcDataAdapter(sql, conn);

//DataTable dt = new DataTable();

//da.Fill(dt);

//this.GridView1.DataSource = dt.DefaultView;

//this.GridView1.DataBind();

}

}

catch (WebException webEx)

{

Console.WriteLine(webEx.Message.ToString());

}

//时间性能测试

DateTime endtime = DateTime.Now;

System.TimeSpan ts = endtime.Subtract(starttime);

MessageBox.Show("ok\n" + Convert.ToString(ts.TotalMilliseconds) + "ms");

}

//执行SQL数据存储语句

private void Insert(string sqlstr)

{

}

}

}

oracle dbf文件读取,读取oracle数据表,导出到DBF文件。相关推荐

  1. 第六期:如何通过知晓云将数据表导出为 Excel 文件

    作者:知晓云 - 小程序开发快人一步 来源:知晓课堂 在日常的工作中,常常需要根据运营需求对数据进行各种格式的处理和导出.导出后,不少人偏爱将数据放入 excel在进行处理. 一般来说,处理数据导出时 ...

  2. PHP将sql文件导入mysql数据库及将mysql中的数据表导出为 sql文件

    导入: 1.(运行环境为wamp)浏览器地址栏输入http://localhost/phpmyadmin/,进入phpmyadmin首页. 2.在左边目录选择要加入的数据库 3.点击上方import按 ...

  3. 利用Shell将MySQL数据表导出为csv文件

    完整的Shell代码如下: #!/bin/bash MYSQL=`which mysql`#show databases in mysql echo "database in mysql:& ...

  4. php 数据导出到excel文件,PHP - 如何将数据动态导出到Excel文件(.xls)?

    我使用的是PHP.我想知道如何动态导出数据到Excel文件(.xls).在下面的查询中输入子句中的字段选择我想要在excel文件中看到的内容. $query = "SELECT f.atte ...

  5. arcgis-shp文件属性表导出为dbf或txt

    arcgis中shp文件的属性表可导出为dbf或txt,往常都是导出为dbf,再拖动到excel中打开, 今天发现如果属性表中有中文导出为bdf后,再拖动到excel打开的话,中文会变成乱码. 试着导 ...

  6. ABAP Excel处理-内表导出为Excel文件

    目录 一.概述 二.内表导出为Excel文件的实现 1. OLE下载内表数据为Excel文件 2. DOI下载内表数据为Excel文件 3. 生成文本形式的Excel(.xls或.csv) 4. 标准 ...

  7. (转) android so 文件存私密数据,且防止 so文件未知应用盗用

    android so 文件存私密数据,且防止 so文件未知应用盗用 有时候我们需要在客户端 存放一些 保密的数据,比如 服务端的IP 端口,接口的地址,授权的key 等等,如果我们直接写在java中, ...

  8. oracle表数据如何导出成dbf,怎么将EXCEL导成DBF?《dbf导出excel数据》

    如何将excel表格存为dbf 2007以上版本不支持直接转换成DBF格式文件,用2003版本另存为dbf表格,直接点击另存为 excel2016 怎么打开dbf文件?不要跟我说直接选择文件类型,20 ...

  9. Oracle odi 数据表导出到文件

    最近新客户要求,以EXCEL数据方式,将数据表的内容,通过AS2协议传输到客户那边,本来打算使用存储过程直接输出EXCEL,但一想,ODI这么强大的工具应该可以直接进行转换,所以参考了一下官方标准文档 ...

  10. R语言批量读取写入Excel数据 r导出输出写入excel多个sheet 导出excel 导入 excel 读入excel 表格

    前一段,写过一篇:R语言中写入Excel的不同sheet表格,最近学习了tidyverse的方法,感觉需要总结一下,更新一下知识结构. 本文准备用实际数据,做一下操作: 「批量读取:」 批量读取多个E ...

最新文章

  1. 计算机信息技术教学工作计划,关于信息技术教学工作计划4篇
  2. SAP CRM定价决定(Price Determine)的调试入口
  3. python元组类型_Python数据类型之元组
  4. 如何使用可外部化的接口在Java中自定义序列化
  5. 写给大数据开发初学者的话5
  6. 兼容IE和FF:获取Referer的JS和PHP方法 及 PHP利用curl伪造IP和来路
  7. Java中的网络支持Socket应用
  8. 巴菲特投资50年的5个心得
  9. 力邀安卓为鸿蒙效力,2019 十大语文差错
  10. nodejs中全栈开发框架meteor的文档
  11. Active Directory Get User's groups using LDAP
  12. 下载 MIUI任意型号卡刷包/线刷包
  13. IntelliJ IDEA设置护眼浅绿色背景及文字大小
  14. 医院病案管理系统MRMS源码 病案管理 医院源码
  15. csgo服务器找不到,csgo社区服务器进不去解决方法
  16. 警告 1 warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead
  17. img 图片自适应大小
  18. sin函数对照表_初中常用三角函数值对照表
  19. 撞库是什么意思?与洗库和拖库有什么关系?
  20. 关联网页可信度分析和文本内容(IEEE2014)

热门文章

  1. 腾讯三面:Cookie的SameSite了解吧,那SameParty呢?
  2. 市面上4.4V截止电压的锂电充电IC有哪些呢
  3. 用html代码在word中插入分页符,Word分页符怎么用?Word插入分页符的方法
  4. html网页怎么弄背景 图片,在html网页中如何设置背景图片?网页背景怎么设置?...
  5. VMware没有未桥接的主机网络适配器,VMware bridge protocol服务卸载不掉
  6. 怎么修改MAC电脑名字,三步教你修改MAC电脑的名字
  7. 将一个 iOS 设备变成 iBeacon
  8. Intel SGX开发者参考书(三)—— 使用Intel SGX SDK工具(二)
  9. vue 解决跨域问题(开发环境)
  10. java日期计算天数_Java 两个日期间的天数计算