浏览模式: 标准 | 列表 全部文章

错误 0xc00470fe: 数据流任务: 产品级别对于 组件“源 - is36...

今天需要把一个excel文件导入到SQL server 2005数据库中进行数据分析,只可惜在进行导入操作过程中遭遇如下问题:错误 0xc00470fe: 数据流任务: 产品级别对于 组件“源 - is36$”(1) 而言不足。

查阅资料明白解决该问题需要打SQL Server 2005 Service Pack 1补丁,补丁下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=cb6c71ea-d649-47ff-9176-e7cac58fd4bc

补丁分别为32位与64位系统的补丁,信息如下:

  • SQLServer2005SP1-KB913090-x86-CHS.exe 265.6MB
  • SQLServer2005SP1-KB913090-x64-CHS.exe 317.6MB

再打补丁前,执行SQL语句 select @@version 返回结果为:Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)   Oct 14 2005 00:33:37   Copyright (c) 1988-2005 Microsoft Corporation  Express Edition on Windows NT 5.1 (Build 2600: Service Pack 3) 

查阅资料后可知打补丁前后版本号如下:

  • SQL Server 2005 RTM:9.00.1399
  • SQL Server 2005 SP1:9.00.2047

EXCEL中的相对引用、绝对引用和混合引用定义

单元格引用可以分为以下3类(4种引用):
  • 相对引用:A1、D10等。当公式复制后,自动按行、列产生相对引用。
  • 绝对引用:$B$1、$F$5等。在行列号前置“$”号,保证公式复制后不会改变。
  • 混合引用:$A2、B$1等。行相对、列绝对引用(如$A2),当公式向左右方向进行复制时,A列固定保持不变;行绝对、列相对引用(如:B$1),当公式向上下方向进行复制时,第1行固定保持不变。

绝对引用

单元格中的绝对单元格引用(例如 $F$6)总是在指定位置引用单元格F6。如果公式所在单元格的位置改变,绝对引用的单元格始终保持不变。如果多行或多列地复制公式,绝对引用将不作调整。默认情况下,新公式使用相对引用,需要将它们转换为绝对引用。例如,如果将单元格 B2 中的绝对引用复制到单元格 B3,则在两个单元格中一样,都是 $F$6。

相对引用

公式中的相对单元格引用(例如 A1)是基于包含公式和单元格引用的单元格的相对位置。如果公式所在单元格的位置改变,引用也随之改变。如果多行或多列地复制公式,引用会自动调整。默认情况下,新公式使用相对引用。例如,如果将单元格 B2 中的相对引用复制到单元格 B3,将自动从 =A1 调整到 =A2。

混合引用

混合引用具有绝对列和相对行,或是绝对行和相对列。绝对引用列采用 $A1、$B1 等形式。绝对引用行采用 A$1、B$1 等形式。如果公式所在单元格的位置改变,则相对引用改变,而绝对引用不变。如果多行或多列地复制公式,相对引用自动调整,而绝对引用不作调整。例如,如果将一个混合引用从 A2 复制到 B3,它将从 =A$1 调整到 =B$1。

在Excel中输入公式时,只要正确使用F4键,就能简单地对单元格的相对引用和绝对引用进行切换。现举例说明:对于某单元格所输入的公式为“=SUM(B4:B8) ”。

  • 选中整个公式,按下F4键,该公式内容变为“=SUM($B$4:$B$8)”,表示对横、纵行单元格均进行绝对引用。
  • 第二次按下F4键,公式内容又变为“=SUM(B$4:B$8)”,表示对横行进行绝对引用,纵行相对引用。
  • 第三次按下F4键,公式则变为“=SUM($B4:$B8)”,表示对横行进行相对引用,对纵行进行绝对引用。
  • 第四次按下F4键时,公式变回到初始状态“=SUM(B4:B8)”,即对横行纵行的单元格均进行相对引用。
  • 需要说明的一点是,F4键的切换功能只对所选中的公式段有作用。

Tags: 相对引用, 绝对引用, 混合引用

解决Fatal error: Out of memory

今天打开某个VPS上的网站(基于wordpress程序构建),提示错误信息:Fatal error: Out of memory (allocated 22544384) (tried to allocate 77824 bytes) in /home/is36.com/demo/wp-admin/includes/template.php on line 612

解决方法:ssh到VPS,然后将http服务、mysql服务重启一次。

导致该问题的原因:wordpress是吃内存大户,如果服务器的内存被吃光,就会出现如上问题。

彻底解决该问题的方法就是:

  • 增加内存
  • 调整http服务、mysql服务的各项参数

解决建行网银问题:证书签名错误,参考代码:-10005

解决方法:

  • 从建行网站下载E路航安全组件
  • 将网银盾插入电脑
  • 依次点击“开始”-“程序”-“中国建设银行E路护航网银安全组件”-“网银盾管理工具”,双击“建行网银盾管理工具”,系统弹出提示需设置IE,点击确定
  • 系统弹出网银盾证书窗口,选择网银盾证书,点击右侧“注册证书”按钮,搞定。

access批量替换字符

需求:需要将某access数据库中A表中B列中所有行中的abc内容替换为xyz

操作过程:

  1. 使用Microsoft Access工具打开access数据库MDB文件
  2. 在数据库窗口中,点击“查询”,或在“视图”菜单中选择“数据库对象”->“查询”
  3. 点击数据库窗口中的“新建”按钮
  4. 点击“确定”,关闭“显示表”窗口
  5. 在工具栏左上侧右键,选择弹出菜单“SQL视图”,或在“视图”菜单中选择“SQL 视图”
  6. 删掉所有的内容
  7. 输入SQL更新语句:Update tabel(表名) SET fields(字段名) = REPLACE ( fields(字段名) ,'原内容','替换成的内容') 本例中语句为:Update A SET B = REPLACE (B ,'abc','xyz')
  8. 点击菜单栏上的感叹号“运行”即可

显示网站目录下所有文件的PHP程序

一个简单的脚本,运行在PHP环境下,方便列出目录下的所有文件(以下代码为列出当前与脚本同目录的文件,可以自行修改opendir("./"))这个相对路径达到显示其他路径下文件的效果)

  • <?php
  •    echo "<li>download files list<li>";
  •    if ($handle = opendir("./"))
  •    {
  •       while (1)
  •       {
  •             $ufile = readdir($handle);
  •             if ($ufile == "") break;
  •             if (($ufile!=".")&($ufile!= ".."))
  •             {
  •                   $tfile=iconv('GB2312', 'UTF-8', $ufile);
  •                   echo "<li><a href='".$config_basedir_file.$tfile."'>URL+".$tfile."</a></li>";
  •             }
  •       }
  • }
  • ?>

抛开体力劳动Linux下bash双重循环下载文件

需求:有一个网站,提供视频在线播放,视频格式为flv,视频路径直接写在网页源代码中,而视频路径每一次的请求都不一样,比如某个视频在网页源代码中的地址为:http://url/dl/88bd09b075a2033d8b515fae13398253/4f0fa279/1.flv,每一次刷新页面查看源代码,代码中dl后和1.flv之间的代码就会改变,系统这样生成的随机地址就是防盗链,而经测试,如果所生成的视频flv地址在经过三五分钟未经引用(播放),那么该地址就会失效,需要重新刷新页面获得地址,正因为如此,所以用不了迅雷,只能自己写个程序多线程一个个视频下载,每次下载前都是获得新请求到的视频地址。

基于此,在Linux下写一个bash程序,构造双重循环下载视频文件,考虑到系统自带的wget下载工具单线程太不给力,正冰简单写的这个就直接用了《Linux下多线程下载工具推荐:myget》。

程序功能如下(程序命名为zb,以下同):

  1. 先判断程序是否将下载列表跟到程序后面
  2. 将下载列表里的下载网址取出
  3. 使用curl获取页面源代码并将flv一行的数据单独导出到tmp文件,这里填出该行数据:so.addVariable('file','http://url/dl/88bd09b075a2033d8b515fae13398253/4f0fa279/1.flv');
  4. 然后将视频完整地址通过sed命令提取出来并输出到tmp2文件
  5. 调用mytget工具将tmp2中的视频地址进行多线程下载

程序使用方法:

  1. 先使用vi编辑器将待下载的网页地址写入到一个文本中(建立待下载的下载列表),一行一个目标网址(这些网址可以使用类似火车采集器这类软件先批量抓取下来),保存为list文件名
  2. 使用$./zb list 命令下载(多线程下载工具采用10线程进行下载,速度不错)
  3. 等待程序完成下载

程序代码: 

  • if [ "$1" == "" ]; then
  •     printf "need url list"
  •     exit 1
  • fi
  •  
  • for x in $(cat $1)
  • do
  •     curl $x | grep flv>tmp
  •     cat tmp  | sed "s/\(.*\),'\(.*\)'\(.*\)/\2/g">tmp2
  •         for y in $(cat tmp2)
  •         do
  •         mytget -n 10 $y
  •         done
  • done
  •  
  • rm -rf tmp*
  • rm -rf $1

Tags: wget

Linux下使用wget工具下载整站

有时候为了方便模仿某些网站,需要使用下载整站工具把模板网站所有可索引(访问)的资源下载下来,并保存成与服务器相同的目录结构。

正冰给大家介绍一种简便的工具,那就是linux下的wget工具,使用方法: 

wget -r -p -np -k http://URL

  • -r:在本机建立服务器端目录结构;
  • -p: 下载显示HTML文件的所有图片;
  • -np:只下载目标站点指定目录及其子目录的内容;
  • -k: 转换非相对链接为相对链接。

比如需要下载本站某篇文章的所有资源,网址为http://blog.is36.com/linux_wget_tool_download_website/

那么命令就是:wget -r -p -np -k http://blog.is36.com/linux_wget_tool_download_website/

也就是从当前页面开始镜像整个网站到本地,使用这个工具下载整站的好处是:下载的资源纯净(某些商业软件在未注册情况下会在网页里加版权)、方便;坏处就是单线程比较慢,只适合下载简单的网站。

如果不想看下载的过程,就把下载放到background后面运行,只需要再加上-b参数即可。

当然,windows下也有wget工具,去搜索下载吧,下载后的使用方法跟linux下一样。

Tags: linux, wget