c#导入excel入sql server数据库,但是只保留6个月的数据。

c#导入excel入sql server数据库,但是只保留6个月的数据。,第1张

需要存储过程(删除部分)和C#共同使用,C#负责写入 及调用删除的存储过程

DataTable ExcelTable;

DataSet ds = new DataSet();

OleDbConnection objConn = new OleDbConnection("Provider=MicrosoftACEOLEDB120;Data Source=" + 你的excel文件路径 + ";" + "Extended Properties=\"Excel 120;IMEX=1;HDR=YES;\""); //创建与Excel 的 oledb 连接

objConnOpen();

DataTable schemaTable = objConnGetOleDbSchemaTable(SystemDataOleDbOleDbSchemaGuidTables, null);

string tableName = schemaTableRows[0][2]ToString()Trim();//获取 Excel 的表名,默认值是sheet1

string strSql = "select  from [" + tableName + "]";

OleDbCommand objCmd = new OleDbCommand(strSql, objConn);

OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);

myDataFill(ds, tableName);//填充数据

objConnClose();

ExcelTable = dsTables[tableName]; //生成datatale

int row = ExcelTableRowsCount;

int column = ExcelTableColumnsCount;

string err = "Passed";

for (int i = 1; i < row; i++)

{  // 逐行执行插入命令

   string sql = "insert into tabel_name values(";

   for (int j = 0; j < 4; j++)  // 拼装SQL命令

       {

            string InsVu=chk_data(ExcelTableRows[i][j]ToString()Trim());

            sql = sql + "'" + InsVu + "',";

       }

       try

       {

          sql = sql + "'')"; //以下链接数据库

          string strCon = "Data Source=数据库SID;user=XXXX;password=XXXXXX;Unicode=True;Omit Oracle Connection Name=True;";

          OracleConnection conn = new OracleConnection(strCon);

          connOpen();

          OracleCommand cmd = new OracleCommand(sql, conn);

          cmdExecuteNonQuery();

          connClose();

       }

       catch (Exception ex)

       {           

           // 你的错误提示

           err="Failed";

           break;

        }

     }

 }

 if (err=="Passed")

 {

     try

     {

          string strCon = "Data Source=数据库SID;user=XXXX;password=XXXXXX;Unicode=True;Omit Oracle Connection Name=True;";

          OracleConnection conn = new OracleConnection(strCon);

          connOpen();

          OracleCommand cmd = new OracleCommand(存储过程, conn);

          cmdCommandType = CommandTypeStoredProcedure;

          cmdExecuteNonQuery();

          connClose();

     }

     catch (Exception ex)

     {

         // 你的错误提示

         err="Failed";

         break;

     }

      

 }

Oracle 存储过程

create or replace PROCEDURE PROC_ITEM_DELETE

as 

  counts Number;

  v_count number;

  -- 默认日期格式为 yyyymm

begin

      select MAX(data_column) from tabel_name;

      delete from tabel_name where data_column<data_column-6;

end;

您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!企业管理器 --管理 --SQL Server代理 --右键作业 --新建作业 --"常规"项中输入作业名称 --"步骤"项 --新建 --"步骤名"中输入步骤名 --"类型"中选择"Transact-SQL 脚本(TSQL)" --"数据库"选择执行命令的数据库 --"命令"中输入要执行的语句: --你的SQL语句或存储过程 --确定 --"计划"项 --新建计划 --"名称"中输入调度名称 --"调度类型"中选择你的作业执行安排 --如果选择"重复执行" --点"更改"来设置你的时间安排然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法: 我的电脑--控制面板--管理工具--服务--右键SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定,非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

随着数据库在网站建设中的不断应用,现如今绝大多数网站已经离不开数据库支持了,因为数据库不仅可以存储网站内容等信息,还可以存储用户提交的信息。由于这些信息非常宝贵,一旦丢失几乎难以挽回。

所有站长不仅要注意备份服务器上的网页html文件,或者程序代码,还要对数据库文件优先进行备份。

最简单的数据库备份可以通过phpMyAdmin手动备份并下载文件到指定位置,但是对于那些需要每天及时备份的站长来说,手动备份数据库比较麻烦,所以本文讲解一下如何利用国外主机的时钟程序配合shell命令代码实现每天定时备份数据库文件并下载到指定目录。

shell备份数据库

首先创建一个文件命名为:“backupsh”,在其中输入以下命令:

#!/bin/bash

# Set a value that we can use for a datestamp

DATE=`date +%Y-%m-%d` $

# Our Base backup directory

BASEBACKUP="/backup/daily"

for DATABASE in `cat /backup/db-listtxt`

do

# This is where we throw our backups

FILEDIR="$BASEBACKUP/$DATABASE"

# Test to see if our backup directory exists

# If not, create it

if [ ! -d $FILEDIR ]

then

mkdir -p $FILEDIR

fi

echo -n "Exporting database: $DATABASE"

mysqldump --user=root --opt $DATABASE | gzip -c -9 > $FILEDIR/$DATABASE-$DATEsqlgz

echo " [ Done Exporting to local backup, now exporting for remote backup] "

cp $FILEDIR/$DATABASE-$DATEsqlgz /backup/uploads/$DATABASEsqlgz

echo " [Done]"

done

# AutoPrune our backups This will find all files

# that are "MaxFileAge" days old and delete them

MaxFileAge=4

find $BASEBACKUP -name 'gz' -type f -mtime +$MaxFileAge -exec rm -f {} \;

简单来说,这个命令会从db-listtxt文件(一个记录有数据库名称的列表文本文件)中逐行调取数据库并输出+压缩数据文件(datastamped )到/backup/daily/databasename/目录下面;然后该命令有把一个 non-datestamped 文件存储到/backup/uploads/目录下面,并覆盖掉原有的文件。

同时,为了节约资源,该命令会自动删掉4天前的数据库文件。

时钟命令(Cron Jobs)

备份完之后要利用时钟命令将数据库备份以及存储以自动的方式每天执行,首先需要激活backupsh;

10 4 sh / backup/backupsh

这个命令是让服务器每天早上4:10分开始执行数据库备份,当然什么时间执行是取决你的。

然后在时钟命令中输入以下命令:

10 6 /usr/local/bin/ncftpput -Ef /home/admin/ncftpputlogin / /backup/uploads/

这个命令是告诉一个命名为ncftpput的程序(该程序位于ncftputlogin目录下)每天早上6:10将数据库文件上传到/backup/uploads目录下面。ncftpputlogin目录中存有服务器的用户信息,如果你的服务器没有安装ncftp,你可以自己安装一个,很简单。

总结

如果你的数据库文件较大,可能备份的时候需要占用很多服务器资源,所以站长要尽量选择访客最少的时间段执行自动备份命令,比如凌晨4-5点左右。而且要注意给备份留下足够的时间然后执行存储命令。

因为一个服务器可能会遭到天灾人祸,备份的数据库文件要存在不同的服务器或者下载到本地更保险。

以上就是关于c#导入excel入sql server数据库,但是只保留6个月的数据。全部的内容,包括:c#导入excel入sql server数据库,但是只保留6个月的数据。、数据库作业、如何每天自动备份MySql文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存