随笔 - 42  文章 - 5  评论 - 47 
  2010年7月12日

4.为了最大化的缩小日志文件(如果是sql   7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库

b.在我的电脑中删除LOG文件

c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库

此法将生成新的LOG,大小只有500多K

或用代码:  
下面的示例分离   pubs,然后将   pubs   中的一个文件附加到当前服务器。

a.分离
EXEC   sp_detach_db   @dbname   =   'pubs '

b.删除日志文件

c.再附加
EXEC   sp_attach_single_file_db   @dbname   =   'pubs ',  
      @physname   =   'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf '

5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择 "自动收缩 "

--SQL语句设置方式:
EXEC   sp_dboption   '数据库名 ',   'autoshrink ',   'TRUE '

6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)

--SQL语句的设置方式:
alter   database   数据库名   modify   file(name=逻辑文件名,maxsize=20)

posted @ 2010-07-12 13:15 gjung 阅读(81) 评论(0) 编辑
  2010年2月4日

转载:http://www.shehui001.com/StudyWeb/CSharp/map.asp?pid=500

关键字:关于网络字节序和主机字节序

描述:什么是字节序?是指整数在内存中保存的顺序。     字节序有两种:     a.Littleendinan低位存储在内存的低地址,

      什么是字节序?是指整数在内存中保存的顺序。
      字节序有两种:
      a.Little endinan 低位存储在内存的低地址,高位存储在内存的高地址;
      b.Big endian 高位存储在内存的低地址,低位存储在内存的高地址;

      举个简单的例子:
DWORD dwCount = 0x01020304;这样的一个双字节变量在内存中如下分布0013FF70  04 03 02 01
(注:实验结果取之 XPSP3 VC6.0,说明我的机器是Little endinan序)
而如果是Big endian序的话,应该是0013FF70  01 02 03 04。用的比较多的x86系列的CPU,都是Little endinan序的。

      而网络字节序这是TCP/IP协议中定义好的一种数据表示格式,它是与你的机器的cpu,操作系统什么的无关的,这样可以保证数据在网络中传输时,不管怎么样都能正确的解释了,网络字节序选择了Big endian。这样就给编写网络程序的程序员带来一个问题,程序员必须把本地数据从主机字节序转换成网络字节序发送到主机,同时,主机也必须把收到的数据从网络字节序转换成本地字节序,这样才能保证双方正确的收发数据,不然就是产生bug。

      winapi提供了四个函数用于进行网络字节序到本机字节序和本机字节序到网络字节序的转换:
htons:把unsigned short类型从主机序转换到网络序
htonl:把unsigned long类型从主机序转换到网络序
ntohs:把unsigned short类型从网络序转换到主机序
ntohl:把unsigned long类型从网络序转换到主机序
(这四个API可以这样记,s表示short,l表示long,n表示network,h表示host)

      另外:char类型是没有字节序的问题的,只有大于一个字节的数据类型才有字节序的问题。很多翻译书籍将Little endinan翻译成小端模式,将Big endian翻译成大端模式。

posted @ 2010-02-04 05:59 gjung 阅读(56) 评论(0) 编辑
  2010年2月1日

经度和纬度的确定

  地图和地球仪上,我们可以看见一条一条的细线,有横的,也有竖的,很象棋盘上的方格子,这就是经线纬线。根据这些经纬线,可以准确地定出地面上任何一个地方的位置和方向。

  这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都和南北两极的距离相等,这个圆圈就叫作“赤道”。在赤道的南北两边,画出许多和赤道平行的圆圈,就是“纬圈”;构成这些圆圈的线段,叫做纬线。定义为地球面上一点到球心的连线与赤道平面的夹角。我们把赤道定为纬度零度,向南向北各为90度,在赤道以南的叫南纬,在赤道以北的叫北纬。北极就是北纬90度,南极就是南纬90度。纬度的高低也标志着气候的冷热,如赤道和低纬度地地区无冬,两极和高纬度地区无夏,中纬度地区四季分明。

  其次,从北极点到南极点,可以画出许多南北方向的与地球赤道垂直的大圆圈,这叫作“经圈”;构成这些圆圈的线段,就叫经线。公元1884

年,国际上规定以通过英国伦敦近郊的格林尼治天文台的经线作为计算经度的起点,即经度零度零分零秒,也称“本初子午线”。在它东面的为东经,共180度;在它西面的为西经,共180度。因为地球是圆的,所以东经180度和西经180度的经线是同一条经线。各国公定180度经线为“国际日期变更线”。为了避免同一地区使用两个不同的日期,国际日期变线在遇陆地时略有偏离。

  每一经度和纬度还可以再细分为60分,每一分再分为60秒以及秒的小数。利用经纬线,我们就可以确定地球上每一个地方的具体位置,并且把它在地图或地球仪上表示出来。例如问北京的经纬度是多少?我们很容易从地图上查出来是东经116度24分,北纬39度54分。在大海中航行的船只,只要把所在地的经度测出来,就可以确定船在海洋中的位置和前进方向。

  纬度共有90度。赤道为0度,向两极排列,圈子越小,度数越大。

  

地球的地图

  经度 (λ)

  经度线投射在图上看似弯曲和垂直的线,但实际上是大圆的一半。

  纬度 (φ)

  纬度线投射在图上看似水平的平行线,但实际上是不同半径的圆。有相同特定纬度的所有位置都在同一个纬线上。

  赤道的纬度为0°,将行星平分为南半球和北半球。

  纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。

  纬度数值在0至30度之间的地区称为低纬地区,纬度数值在30至60度之间的地区称为中纬地区,纬度数值在60至90度之间的地区称为高纬地区。

  赤道、南回归线、北回归线、南极圈北极圈是特殊的纬线。

  纬度1秒的长度

  地球的子午线总长度大约40008km。平均:

  纬度1度 = 大约111km

  纬度1分 = 大约1.85km

  纬度1秒 = 大约30.9m

  各纬度线附近的城市和其他地理区

  北纬90度:北极

  北纬80度:

  北纬70度:摩尔曼斯克

  北纬60度:奥斯陆、斯德哥尔摩、赫尔辛基、圣彼得堡

  北纬50度:伦敦、巴黎、布鲁塞尔、法兰克福、布拉格、克拉科夫、基辅、温哥华、莫斯科

  北纬40度:马德里、伊斯坦布尔、安卡拉、喀什、北京、盐湖城、丹佛、华盛顿、纽约、东京、汉城

  北纬30度:开罗、苏伊士运河、科威特城、新德里、珠穆朗玛峰、拉萨、三江并流、重庆、长江三峡、武汉、杭州、休斯敦、新奥尔良

  北纬20度:香港、台湾、撒哈拉沙漠、吉达、孟买、彬马那、海口、火奴鲁鲁、墨西哥城

  北纬10度:墨西哥城、科纳克里、亚的斯亚贝巴、胡志明市、宿务、圣荷西、巴拿马城、巴拿马运河、加拉加斯

  赤道:圣多美、利伯维尔、坎帕拉、新加坡、基多

  南纬10度:罗安达、帝力、莫尔兹比港、利马、累西腓

  南纬20度:塔那那利佛、苏瓦、苏克雷

  南纬30度:悉尼、开普敦、布隆方丹、德班、布里斯班、复活节岛、圣地亚哥

  南纬40度:惠灵顿

  南纬50度:麦哲伦海峡

  南纬60度:

  南纬70度:

  南纬80度:

  南纬90度:南极、阿蒙森-斯科特站

  北回归线(Tropic of Cancer),即北纬23°26′(标准为23°26′28"44)纬线。这是太阳直射在地球上最北的界线。 北回归线穿过的国家有摩洛哥,阿尔及利亚,利比亚,埃及,突尼斯,以色列,约旦,沙特阿拉伯,伊拉克,伊朗,阿富汗,巴基斯坦,印度,中国,墨西哥,美国。本国北回归线穿过的地方有,分别是台湾嘉义、台湾花莲、广东封开、广东从化、汕头、广西桂平

  南回归线(Tropic of Capricorn),即南纬23°26′(23°26′28"44)纬线。这是太阳直射在地球上最南的界线。 南回归线穿过的国家有:纳米比亚,博茨瓦纳,南非,莫桑比克,马达加斯加;澳大利亚;智利,阿根廷,巴拉圭,巴西

  纬度的度数划分:以经过格林威治无文天台的经线为0度经线,向东西各划分180度,称为西经.东经180度与西经180度重合.

posted @ 2010-02-01 12:56 gjung 阅读(163) 评论(0) 编辑
  2010年1月9日

CARRAY-----         BinaryByteStream Fixed length

                           No Encode/Decode

STRING ------       CharBytesStream Variable   length

                           Encode/Decode

VIEW ---------      C Structure  Oriented Fixed length               

                           Encode/Decode

FML ----------      Attribtutes/Value Oriented Variable length

                           Encode/Decode

越往上边,越简单、效率高、类型少、死板

越往下边,越复杂、效率低、类型多、灵活

posted @ 2010-01-09 18:41 gjung 阅读(78) 评论(0) 编辑

#include

#include "atmi.h"         /* TUXEDO 头文件*/

#if defined(__STDC__) || defined(__cplusplus)

main(int argc, char *argv[])

#else

main(argc, argv)

int argc;

char *argv[];

#endif

{

       char *sendbuf, *rcvbuf;

       long sendlen, rcvlen;

       int ret;

 

       if(argc != 2) {

              (void) fprintf(stderr, "Usage: simpcl string ");

              exit(1);

       }

       /* 作为tuxedo客户端连入tuxedo System */

       if (tpinit((TPINIT *) NULL) == -1) {

              (void) fprintf(stderr, "Tpinit failed ");

              exit(1);

       }

       sendlen = strlen(argv[1]);

       /* 使用tpalloc申请string类型buffer作为请求和应答buffer */

       if((sendbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {

              (void) fprintf(stderr,"Error allocating send buffer ");

              tpterm();

              exit(1);

       }

       if((rcvbuf = (char *) tpalloc("STRING", NULL, sendlen+1)) == NULL) {

              (void) fprintf(stderr,"Error allocating receive buffer ");

              tpfree(sendbuf);

              tpterm();

              exit(1);

       }

       (void) strcpy(sendbuf, argv[1]);

       /* 同步调用TOUPPER服务 */

       ret = tpcall("TOUPPER", (char *)sendbuf, 0, (char **)&rcvbuf, &rcvlen, (long)0);

       if(ret == -1) {

              (void) fprintf(stderr, "Can't send request to service TOUPPER ");

              (void) fprintf(stderr, "Tperrno = %d ", tperrno);

              tpfree(sendbuf);

              tpfree(rcvbuf);

              tpterm();

              exit(1);

       }

       (void) fprintf(stdout, "Returned string is: %s ", rcvbuf);

       /* 使用tpfree释放申请的请求和应答buffer空间 */

       tpfree(sendbuf);

       tpfree(rcvbuf);

       /* 使用tpterm离开tuxedo System */

       tpterm();

       return(0);

}

posted @ 2010-01-09 18:17 gjung 阅读(194) 评论(0) 编辑