-
在线设计
2007-01-16 16:46:21
在线设计演示 -
在线装修项目演示
2007-01-16 08:18:15
秀几个界面图,在线装修:)
哪位有合作意向,请和我联系,呵呵
杜长宇
电话: 13811851369
Email: [email]changyudu@163.com[/email]
MSN:duchangyu@hotmail.com还可以下载视频演示版。
地址:
[url]http://www.vr168.com/ads/DesignOnLine_Demo.rar[/url] -
经济适用房的困惑
2007-01-12 00:34:17
看的一篇报道说政府体会到老百姓日夜排队辛苦,而且有失公平,于是说要网上登记实行摇号。请问在哪儿登记呢?网址是什么?谢谢!
另外,我是毕业分配到北京的大学生,有北京户口,也办理的经济适用房审批手续,请问是否能购买经济适用房呢?好像说现在经济适用房只买给拆迁户,那我们这样的在北京没有老房子从而不能成为拆迁户,又买不起商品房的人怎么办呢?现在社会上一种现象就是未满5年的经济适用房借助“黑白合同”的办法转手买给我们这样的具有经济适用房购买资格的拆迁户,从中赚钱巨额利润,前几天看报道说要禁止5年内经济适用房转手出售,我觉得很好,不过没过两天这个消息就又被取消了。为什么呢?我觉得这个方法很好啊,毕竟政府建设经济适用房的初衷是给中低收入人提供住房,而不是让他们转手出卖获取利润的啊!
如果我们这样的具有经济适用房资格而不是拆迁户的人不能购买经济适用房,那我们是不是只能购买那些未满5年的二手经济适用房,给那些以此牟利的人提供市场了啊?
以上是我的一点困惑,还希望能够请您来帮我们解答一下,谢谢! -
把图片文件嵌入到URL中
2007-01-11 12:04:10
Hackszine.com: RFC 2397 - Embed image data inside a URL
http://www.hackszine.com/blog/archive/2006/11/rfc_2397_embed_image_data_insi
.html?CMP=OTC-7G2N43923558
I discovered a URI called "data:" today which allows you to encode any
amount of file data into a URL. This data could be an image, ascii text, xml
data, you name it. You'll have to read the details, but you use it like
this:
data:image/jpeg;base64,base_64_encoded_jpeg_goes_here呵呵,才发现还可以这样的例子:----------------url "data:image/jpeg;base64,
/9j/4AAQSkZJRgABAAAAlgCWAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCE
AAICAgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMDAwMDBAUEAwQFBAMDBAYEBQUFBgYGAwQG
BwYGBwUGBgUBAgICAgICAgICAgUDAwMFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
BQUFBQUFBQUFBQUFBQUFBf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEB
AQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEU
MoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2Rl
ZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK
0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS
QVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNU
VVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5
usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAYAAQAMBIQACEQEDEQH/
2gAMAwEAAhEDEQA/APLfA/w98PXnhbSl1HTTLq9lBrOhapsmulCalb6i1rcIgjbayLJazBWHDKCw
yCSfFr3wboOkeI9Z0gw30S6XeWsMU8V3OkckTQxyJIkTklSQw3fNgncRgECv5oyXOsbUzXN8DKXM
qTnaLUU1yVeVapdpr7j+l6uAwMsHlldKUeblbkpNvWmm9L2XvR6aHQ2Xh/w+of8A0vUlIiyvkSMJ
AcEZzuHPt2xVOTRLAJcmPU9QbZJHGrOzqcSfL5cfzHaGBKOffvXr4bF4l1Xz0o6JapK4p4PDRh7l
d7vR3tt/XQo/8IjoSSMTbRmR1jKzi4fdODLkl12fLnOep6gVeuvCuhCwmdfOjKvkS20reYpEcQ3Y -
刘志峰应该引咎辞职--再也不信zf的了
2006-12-18 23:30:22
从始致终,出台了各种各样的政策,说说要打击炒房者,抑制房价过快上涨,结果怎么样?一有新政策出台房价就跟着上涨,还不不如不出呢。
想想也是,你给开发商加码,他们又不是傻子,不转嫁到消费者身上怎么办?
你征二手房转让税,他们也不傻子,不赚钱他卖么?当然这部分税让买房的人出。
你征出租房税,房东也不傻,不让房客出让谁出?
所以,那些青天大老爷们,没事拜托你喝喝茶、看看报,别再想着法折腾老百姓了!! -
VESP--虚拟展览系统正在开发,欢迎对此感兴趣的客户来洽谈
2006-12-08 23:23:13
-
十一大连自助游--功略流水帐
2006-12-08 23:16:35
在携程网上定的度假产品,来回机票加三晚酒店两个人共3254块(中国联航的飞机,在南苑机场起飞),本来定的是10月1号晚上走4号晚上回来。结果到了机场发现身份证丢了,和携程联系想往后推一天,他们死活不同意,没办法自己和航空公司商量改签到2号,由于临时改签机票涨价,每张票又加了180块,时间上也少了一天。 10月2日 晚8:10分飞机在大连机场降落,因为事先有做功课,出了机场大厅不顾计程车司机热情招呼,我们直奔公交车站(出机场大厅步行五分钟就有公交车)坐710票价一元到市政府下,全程15分钟。忘了说大连机场的美丽的服务员,免费送我们一副大连地图,还热心的给我们指路。 把行李放回酒店(在新开路),这时肚子已经在唱歌了,我们就近找了家川味饭店(巴蜀人家)点了份水煮鱼,叫了两碗米饭,最后结账50元。恩,我觉得那鱼还没北京做的好。 一直向往大连美丽的夜景,晚饭后遛哒到市政府广场,退去白天的喧闹,晚上的市政府广场显得格外宁静,大片的草坪也格外的松软。 10月3日 早上起床天气很好,带上相机咱们前往有名的中山广场(据说有中外名曲听)在酒店50米的距离就有公交车站,搭上706就能顺利到达。可能时间不对,也没听上音乐。在广场旁的小巷子里随便吃了点早餐后,坐上了传说中的有轨电车203看上去就象火车头,前后两头都有人驾驶,车内就是用木头和铁皮组成,挺有30年代上海那时的韵味。伴随着铁轨的声音坐到终点就到了海之韵公园。票价15(平常10元)赶上了什么风筝展多加5元,公园里一边是山,一边是海,沿路往前走就到了18盘其中就有有名的“怪坡”为了感受那个“怪”,我们打车亲身体验了一把,感觉挺神奇的。一路上车就在山于海之前穿梭,途径棒锤岛。中午时分,计程车司机建议我们在石槽海鲜吃午饭,他说这家饭店比较有名,很多大连本地人也经常来这里吃,我们听从司机的建议下车(下车车费23元),来到店内点了个海肠炒韭菜,葱爆海虾(一致认为好吃),来瓶大连本地啤酒,还有一份三鲜水饺最后结账101元。 走出店门一面包车司机听说我们要去老虎滩公园非常热心的要拉我们去,在途中推荐老虎滩公园的几组套餐游乐项目,我们在他手上买张极地馆的门票(90),票面价值100块,加上大门票(15)公园里买也是一样。呵呵,他们也不容易。哦,就因为这样,他免了我们坐车的钱。(从石槽到老虎滩打车需8元)。极地馆不错,有不少极地的小动物,白鲸啊,企鹅啊,北极熊什么的,每天有几个时段有小动物表演,白鲸表演,海豚顶球什么的,值得一看。 从极地馆出来时间还早,打车驱往星海广场(亚洲最大的广场)车费25元,广场有双人脚踏车出租,可以骑着车游逛整个广场(出租费25元)。华灯初上找了家大排档点了炒饭,狗肉沙锅,烤鱿鱼(总共21元)。吃完饭旁边就是16路车站,直接可以到中山广场,于是又去碰碰运气,看能不能赶上放音乐,结果有被晃点了,估计是没有这回事了。逗留了一下看看地图,俄罗斯风情街就在附近不远,于是过去逛了逛,最多的就是各种各样的套娃、锡银的器皿或饰物、俄罗斯望远镜和俄罗斯香烟(不知道是真是假,烟草专卖局管也不管)。俄罗斯风情街走到头出去不远就有701能回到新开路、市政府,结果我们走错了打车回去的(10块)。 10月4日晴 早上坐上开往旅顺的长途汽车,开始了旅顺之行。(全程7.5元,一个多小时)第一站来到旅顺南子弹库,旅顺汽车站前坐计程车前往车费5元,司机很热心介绍旅顺景点,完了还说要问路什么的完全可以问当地人,旅顺人好的很。南子弹库(票价15)个人感觉不值。第二站是日俄监狱,从子弹库走出来的,大概10分钟走到2路公共汽车站,坐到政府前站,在马路对面换3路公交(票价1元)坐到终点就是了。日俄监狱(票价20),我觉得比较值,很大,逛完了大概要一个多小时,绝对激发你的爱国热情。日俄监狱坐3路回到政府前,找附件的饺子馆小吃了一顿,然后去附件的万忠墓,就在附进,离汽车站很近。票价15,觉得不值,原以为是一个什么历史人物,进去才知道是日俄战争,甲午战争时候的照片物证陈列馆,后院有一个很大的烈士墓。3点多左右折回汽车站回大连。晚上在天天渔港吃的晚饭(据说是很有名的海鲜店)点了蒜蓉扇贝,银滩蚬子,蛋黄(火句,音ju)海蟹(这个也还好吃)烤鱿鱼一串 结账138元。7点多赶到机场,赶上大连起大雾,所有航班都取消,机场安排到附件的机场宾馆休息(条件还不错,4星),第二天本想托大雾的福把因为丢失身份证损失的一天时间补回来,结果才8点多就通知退房,乘坐10点钟补班飞机返回北京了。 总体来说大连不错,广场多,干净,就是公园票价偏贵。遗憾的是去过几次广场多没赶上音乐和喷泉。
Link URL: http://www.vr168.com/blog/blog.php?do=showone&tid=3 -
看看这段文字,对英文阅读会有新体会
2006-12-08 23:16:35
看看这段文字,对英文阅读会有新体会 Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer be at the rghit pclae.The rset can be a total mses and you can sitll raed it wouthit porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. 转载 [url]http://www.5ejia.com[/url]
Link URL: http://www.vr168.com/blog/blog.php?do=showone&tid=4 -
打开mysql远程访问
2006-12-08 23:16:35
mysql #运行mysql 客户端,并开放root用户的远程访问权限。以便调试
use mysql
update user set host = \'%\' where user = \'root\' and host <> \'localhost\';
flush privileges;
quit?
Link URL: http://www.vr168.com/blog/blog.php?do=showone&tid=5 -
仿MapInfo图层信息工具源码类,使用很简单
2006-12-08 23:16:35
{-----------------------------------------------------------------------------
Unit Name: TMapInfoToolClass
Author: duchangyu
Purpose: 读取显示地图上对象信息的工具
History:2005-06-29 00:00:48
开发环境:
windows xp sp2
delphi7 + mapx 5.02.38
用法说明(附示例):
1、主程序中uses TMapInfoToolClass;
2、在主程序窗体中放置按钮 button1
3、定义全局变量 (implementation后面)
objMapInfoTool : TMapInfoTool;
4、添加事件处理函数,形如:
procedure TForm1.button1Click(Sender: TObject);
begin
objMapInfoTool.UnInstallMapInfoTool;
objMapInfoTool.CreateMapInfoTool(map1);
objMapInfoTool.SetCurrentLayer(\'片区图\');
Map1.CurrentTool := objMapInfoTool.GetToolNum;
end;
-----------------------------------------------------------------------------}
Link URL: http://www.vr168.com/blog/blog.php?do=showone&tid=7 -
mapX距离工具源码,delphi7+mapx5.0
2006-12-08 23:16:35
delphi7+mapx5开发的测量距离工具,界面和mapinfo一样,使用十分简单。
Author: 杜长宇 junqilian@163.com
Purpose: 量距离工具
History: 2005-05-21开发环境: delphi7+mapX 5.02.38
windows XP Sp2许可:
您可以自由的使用本代码进行学习或非商业、商业应用,
你可以自由更改本代码以便更适合你的应用,但请保留原作者版权信息;
如果你对本代码作过修改优化,请添加详细注释后重新发布到网上,并发给原作者一份拷贝,以利于大家共同进步;
用法:
1、主程序中uses TDistanceToolClass;
2、在主程序窗体中放置ToolButtonDistance
3、添加事件处理函数,形如:
procedure TForm1.ToolButtonDistanceClick(Sender: TObject);
var
m_MapDistanceTool : TDistanceTool;
begin
m_MapDistanceTool := TDistanceTool.Create;
m_MapDistanceTool.CreateDistanceTool(map1);
Map1.CurrentTool := m_MapDistanceTool.GetToolNum;
end;
突然想起来上传的代码里可能有个函数没包含进去,其实也很简单了,我把代码贴出来。
{-----------------------------------------------------------------------------
Procedure: TdchyMapModule.GetChineseMapUnit
Author: duchangyu
Date: 02-六月-2005
Arguments: var currentMap: TMap; mapUnit: TOleEnum
Result: string得到中文的地图单位字符串
-----------------------------------------------------------------------------}function TdchyMapModule.GetChineseMapUnit(var currentMap: TMap;
mapUnit: TOleEnum): string;
begin
case mapUnit of
miUnitMile : result := \'英里\';
miUnitKilometer : result := \'千米\';
miUnitInch : result := \'英寸\';
miUnitFoot : result := \'英尺\';
miUnitYard : result := \'码\';
miUnitMillimeter : result := \'毫米\';
miUnitCentimeter : result := \'厘米\';
miUnitMeter : result := \'米\';
miUnitSurveyFoot : result := \'SurveyFoot\';
miUnitNauticalMile : result := \'海里\';
miUnitTwip : result := \'缇\';
miUnitPoint : result := \'点\';
miUnitPica : result := \'Pica\';
miUnitDegree : result := \'度\';
miUnitLink : result := \'Link\';
miUnitChain : result := \'Chain\';
miUnitRod : result := \'Rod\';
end;
end;
以下内容只有回复后才可以浏览
{-----------------------------------------------------------------------------
Procedure: TdchyMapModule.AutoPan
Author: duchangyu
Date: 02-六月-2005
Arguments: var m_pMap: TMap; mapX, mapY, deltaXScale, deltaYScale: double
Result: None鼠标到底地图边界时自动移图
-----------------------------------------------------------------------------}procedure TdchyMapModule.AutoPan(var m_pMap: TMap; mapX, mapY,
deltaXScale, deltaYScale: double);
var
maxX, maxY, minX, minY: double;
deltaX, deltaY: double;
begin
// 当mapX,mapY点到达屏幕距边界还有1/deltaXScale水平和1/deltaYScale垂直时,自动移动屏幕1/deltaXScale(水平)和1/deltaYScale(垂直)
maxX := m_pMap.Bounds.XMax;
minX := m_pMap.Bounds.XMin;
maxY := m_pMap.Bounds.YMax;
minY := m_pMap.Bounds.YMin;
deltaX := (maxX - minX) / deltaXScale;
deltaY := (maxY - minY) / deltaYScale;
if (mapX < minX + deltaX) then
m_pMap.CenterX := m_pMap.CenterX - (minX - mapX) - deltaX
else if (mapX > maxX - deltaX) then
m_pMap.CenterX := m_pMap.CenterX + (mapX - maxX) + deltaX;
if (mapY < minY + deltaY) then
m_pMap.CenterY := m_pMap.CenterY - (minY - mapY) - deltaY
else if (mapY > maxY - deltaY) then
m_pMap.CenterY := m_pMap.CenterY + (mapY - maxY) + deltaY;end;
Link URL: http://www.vr168.com/blog/blog.php?do=showone&tid=8 -
简单易用的鹰眼类源代码
2006-12-08 23:16:35
{-----------------------------------------------------------------------------
Unit Name: TFrmEagleEyeClass
Author: 杜长宇 changyudu@163.com msn:duchangyu@hotmail.com
Purpose: mapx鹰眼类
History:2005-9-14 11:36:36开发环境: MapX 50.2.38 + delphi7 + Windows xp sp2
用法说明(附示例):
1. uses TFrmEagleEyeClass
2. 声明全局变量
var
frmEagleEye : TfrmEagleEye;3.事件处理函数
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if frmEagleEye = nil then
begin
frmEagleEye := TfrmEagleEye.Create(Application);
frmEagleEye.Initiate(m_MainMap,\'map\\eagle.gst\')
end;frmEagleEye.Show;
end;
许可:
您可以自由的使用本代码进行学习或非商业、商业应用,
你可以自由更改本代码以便更适合你的应用,但请保留原作者版权信息;
如果你对本代码作过修改优化,请添加详细注释后重新发布到网上,并发给原作者一份拷贝,以利于大家共同进步;鸣谢:
-- ljb
网络上其他未具名的大侠们
-----------------------------------------------------------------------------}
Link URL: http://www.vr168.com/blog/blog.php?do=showone&tid=9 -
使用简单的视图管理器类下载,前一视图
2006-12-08 23:16:35
{-----------------------------------------------------------------------------
Unit Name: TMapViewManagerClass
Author: duchangyu 杜长宇 changyudu@163.com msn:duchangyu@hotmail.com
Purpose: MapX 视图管理器,可以实现前一视图功能
History: 2006-07-25=========地图视图管理器========
开发环境: delphi7+mapX 5.02.38
windows XP Sp2用法:
1、主程序中uses TMapViewManagerClass;
2、主程序中定义全局变量 mapViewMgr : TMapViewManager;
3、在主程序窗体中formCreate事件中初始化,创建对象,并传递当前mapx对象map1:
mapViewMgr := TMapViewManager.Create(map1);
4、在地图范围发生变化的事件中,保存视图,例如mapToolUsed事件中:
case ToolNum of
miZoomInTool : begin
mapViewMgr.SaveMapView(map1.Bounds);
end;
miZoomOutTool : begin
mapViewMgr.SaveMapView(map1.Bounds);
end;
end;
5、”前一视图“事件处理函数中:
procedure TForm1.ToolButton11Click(Sender: TObject);
begin
mapViewMgr.PreviousView;
end;许可:
您可以自由的使用本代码进行学习或非商业、商业应用,
你可以自由更改本代码以便更适合你的应用,但请保留原作者版权信息;
如果你对本代码作过修改优化,请添加详细注释后重新发布到网上,并发给原作者一份拷贝,以利于大家共同进步;-----------------------------------------------------------------------------}
Link URL: http://www.vr168.com/blog/blog.php?do=showone&tid=10 -
奋战252
2006-12-08 04:08:06
SQL> startup
ORACLE instance started.Total System Global Area 130023424 bytes
Fixed Size 1218052 bytes
Variable Size 117443068 bytes
Database Buffers 8388608 bytes
Redo Buffers 2973696 bytes
ORA-00201: control file version 10.2.0.1.0 incompatible with ORACLE version
10.2.0.0.0
ORA-00202: control file: '/opt/oracle/product/oradata/orcl/control01.ctl'===================================
SQL> alter system set compatible='10.2.0.1.0' scope=spfile;System altered.============================
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
===========================
SQL> startup
ORACLE instance started.Total System Global Area 130023424 bytes
Fixed Size 1218052 bytes
Variable Size 117443068 bytes
Database Buffers 8388608 bytes
Redo Buffers 2973696 bytes
ORA-00221: error on write to control file
ORA-00206: error in writing (block 1, # blocks 1) of control file
ORA-00202: control file: '/opt/oracle/product/oradata/orcl/control01.ctl'
ORA-27041: unable to open file
Linux Error: 13: Permission denied
Additional information: 3========================
root用户下:
[root@localhost product]# chown -R oracle.oinstall /opt/oracle
======================SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
===================
SQL> startup
ORACLE instance started.Total System Global Area 130023424 bytes
Fixed Size 1218052 bytes
Variable Size 117443068 bytes
Database Buffers 8388608 bytes
Redo Buffers 2973696 bytes
ORA-01103: database name 'ORCL' in control file is not 'DEFAULT'
========================
SQL> show parameter db_nameNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string DEFAULT==========================
SQL> alter system set db_name=ORCL scope=spfile;System altered.========================SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.========================
SQL> startup
ORACLE instance started.Total System Global Area 130023424 bytes
Fixed Size 1218052 bytes
Variable Size 117443068 bytes
Database Buffers 8388608 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.==========================
SQL>OK! Yeah!
Link URL: http://junqilian.bokee.com/viewdiary.11135223.html -
Oracle 10G 启用flashback 闪回功能
2006-12-08 04:08:06
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 15 15:17:17 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect /as sysdba
Connected.SQL> show parameter db_recovery_file_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
SQL>
SQL> show parameter db_flashback_retention_targetNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440SQL> show parameter db_recovery_file_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
SQL> alter system set db_recovery_file_dest_size=10000000;System altered.
SQL> alter system set db_recovery_file_dest='/opt/oracle/product/flash_recovery_area';
System altered.
SQL> show parameter db_flashback_retention_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.SQL> startup mount
ORACLE instance started.Total System Global Area 130023424 bytes
Fixed Size 1218052 bytes
Variable Size 117443068 bytes
Database Buffers 8388608 bytes
Redo Buffers 2973696 bytes
Database mounted.SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
YESSQL>
OK!============
后来发现问题:
ORA-01552: 非系统表空间'USERS'无法使用系统回退段
解决办法:
PLSQL中:
select segment_name,status from dba_rollback_segs;
segment_name,status
--------------------------------
1 SYSTEM ONLINE
12 RBS_SMALL OFFLINEalter rollback segment "RBS_SMALL" online;
问题解决:
参考:
Link URL: http://junqilian.bokee.com/viewdiary.11135309.html -
Oracle Spatial 空间查询
2006-12-08 04:08:06
几个自定义函数
--------------------------------------
--得到线对象的终止点X坐标
create or replace function GetEndNodeX(coords in SDO_ORDINATE_ARRAY) return varchar2 is
Result varchar2(100);
begin
if coords.count > 0 then
Result := to_char(coords(coords.count-1));
end if;
return(Result);
end GetEndNodeX;--得到线对象的终止点的Y坐标
create or replace function GetEndNodeY(coords in SDO_ORDINATE_ARRAY ) return varchar2 is
Result varchar2(100);
begin
if coords.count > 0 then
Result := to_char(coords(coords.count));
end if;
return(Result);
end GetEndNodeY;
--得到线对象的终止点坐标 X,Y 形式
create or replace function GetEndNodeXY(coords in SDO_ORDINATE_ARRAY) return varchar2 is
Result varchar2(200);
begin
if coords.count > 0 then
Result := to_char(coords(coords.count-1)) || ',' || to_char(coords(coords.count));
end if;
return(Result);
end GetEndNodeXY;--得到线对象的起始点X坐标
create or replace function GetStartNodeX(coords in SDO_ORDINATE_ARRAY) return varchar2 is
Result varchar2(100);
begin
if coords.count > 0 then
Result := to_char(coords(1));
end if;
return(Result);
end GetStartNodeX;--得到线对象的起始点的Y坐标
create or replace function GetStartNodeY(coords in SDO_ORDINATE_ARRAY) return varchar2 is
Result varchar2(100);
begin
if coords.count > 0 then
Result := to_char(coords(2));
end if;
return(Result);
end GetStartNodeY;--得到线对象的起始点XY坐标
create or replace function GetStartNodeXY(coords in SDO_ORDINATE_ARRAY) return varchar2 is
Result varchar2(200);
begin
if coords.count > 0 then
Result := to_char(coords(1))||','||to_char(coords(2));
end if;
return(Result);
end GetStartNodeXY;--把X,Y坐标转换成MDSYS.SDO_GEOMETRY的点对象
create or replace function To_Geomerty_Point(x in number,y in number ) return MDSYS.SDO_GEOMETRY is
Result MDSYS.SDO_GEOMETRY;
begin
Result := MDSYS.SDO_GEOMETRY(2001,
8307,
null,
MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1),
MDSYS.SDO_ORDINATE_ARRAY(x, y));
return(Result);
end To_Geomerty_Point;--------------------------------------------------------------------------
-------------------查询 及 测试语句---------------------------------------
--求线路的长度
select c.routename, sdo_geom.sdo_length(c.geoloc,m.DIMINFO,'unit=KM')
from tgs_route c,user_sdo_geom_metadata m
select * from tg_routev2
select a.geoloc.SDO_ORDINATES from tgs_route a
where routename = '宣武-6-1'
select GetStartNodeXY(a.geoloc.SDO_ORDINATES) from tgs_route a
where routename = '宣武-6-1'
select GetEndNodeXY(a.geoloc.SDO_ORDINATES) from tgs_route a
where routename = '宣武-6-1'
--计算线路的起始点和终止点坐标
create table routeNodeXY as
select a.routename,
GetStartNodeX(a.geoloc.SDO_ORDINATES) X1,
GetStartNodeY(a.geoloc.SDO_ORDINATES) Y1,
GetEndNodeX(a.geoloc.SDO_ORDINATES) X2,
GetEndNodeY(a.geoloc.SDO_ORDINATES) Y2
from tgs_route a
--更新tg_routev2 中的线起始点 终止点坐标
alter table routeNodeXY add primary key(routename)
update (select a.*,b.* from tg_routev2 a,routeNodeXY b
where a.routename = b.routename)
set node1x = x1,node1y = Y1,node2x = X2,node2y = Y2
where node1x is null
--
select sdo_geom.sdo_distance( from dual
--物流中心坐标
--116.635056
--39.869170
--node1距离物流中心的 “南北直角折线” 距离
select a.routename,
(sdo_geom.sdo_distance(To_Geomerty_Point(a.node1x, a.node1y),
To_Geomerty_Point(116.635056, a.node1y),
0.005,
'unit=KM') +
sdo_geom.sdo_distance(To_Geomerty_Point(a.node1x, a.node1y),
To_Geomerty_Point(a.node1x, 39.869170),
0.005,
'unit=KM')) dis1
from tg_routev2 a
order by dis1--node2距离物流中心的 “南北直角折线” 距离
select a.routename,
(sdo_geom.sdo_distance(To_Geomerty_Point(a.node2x, a.node2y),
To_Geomerty_Point(116.635056, a.node1y),
0.005,
'unit=KM') +
sdo_geom.sdo_distance(To_Geomerty_Point(a.node2x, a.node2y),
To_Geomerty_Point(a.node1x, 39.869170),
0.005,
'unit=KM')) dis2
from tg_routev2 a
order by dis2
--更新node1Distance 和 node2Distance 即线路起始点、终止点距离物流中心的 “南北直角折线” 距离
update tg_routev2
set node1Distance = (sdo_geom.sdo_distance(To_Geomerty_Point(node1x,
node1y),
To_Geomerty_Point(116.635056,
node1y),
0.005,
'unit=KM') +
sdo_geom.sdo_distance(To_Geomerty_Point(node1x,
node1y),
To_Geomerty_Point(node1x,
39.869170),
0.005,
'unit=KM')),
node2Distance = (sdo_geom.sdo_distance(To_Geomerty_Point(node2x,
node2y),
To_Geomerty_Point(116.635056,
node2y),
0.005,
'unit=KM') +
sdo_geom.sdo_distance(To_Geomerty_Point(node2x,
node2y),
To_Geomerty_Point(node2x,
39.869170),
0.005,
'unit=KM'))
where node1Distance is null
Link URL: http://junqilian.bokee.com/viewdiary.11146562.html -
ORA-00257: archiver error. Connect internal only,
2006-12-08 04:08:06
ORA-00257: archiver error. Connect internal only, until freed.[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue May 16 11:16:24 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect /as sysdba
Connected.
SQL> shutdown abort;
ORACLE instance shut down.
SQL> startup
ORACLE instance started.Total System Global Area 130023424 bytes
Fixed Size 1218052 bytes
Variable Size 117443068 bytes
Database Buffers 8388608 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-16038: log 3 sequence# 9 cannot be archived **** 注意到 这里是log3 不行了
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: '/opt/oracle/product/oradata/orcl/redo03.log'
SQL> alter database clear unarchived logfile group 3; *****Database altered.
SQL> alter database open;
Database altered.
ORA-01552: 非系统表空间'USERS'无法使用系统回退段
解决办法:
PLSQL中:
select segment_name,status from dba_rollback_segs;
segment_name,status
--------------------------------
1 SYSTEM ONLINE
12 RBS_SMALL OFFLINEalter rollback segment "RBS_SMALL" online
Link URL: http://junqilian.bokee.com/viewdiary.11147337.html -
转载:MySQL 乱码问题相关资料汇集
2006-12-08 04:08:06
第一篇:A MySQL 4.1 Story
下面要写的是一篇非常无聊的东西,充斥了大量各式各样的编码、转换、客户端、服务器端、连接……呃,我自己都不愿意去看它,但想一想,写下来还是有点意义的,原因有四:
MySQL 4.1 对多语言的支持有了很大变化 (这导致了问题的出现);
尽管大部分的地方 (包括个人使用和主机提供商),MySQL 3 仍然占主导地位;但 MySQL 4.1 是 MySQL 官方推荐的数据库,已经有主机提供商开始提供并将会越来越多;
许多 PHP 程序以 MySQL 作为默认的数据库管理软件,但它们一般不区分 MySQL 4.1 与 4.1 以下版本的区别,笼统地称“MySQL 3.xx.xx 以上版本”就满足安装需求了;
因为 latin1 在许多地方 (下边会详细描述具体是哪些地方) 作为默认的字符集,成功的蒙蔽了许多 PHP 程序的开发者和用户,掩盖了在中文等语言环境下会出现的问题;
简单的说,MySQL 自身的变化和使用 MySQL 的 PHP 程序对此忽略,导致了问题的出现和复杂化,而由于大部分用户使用的是英文,使这种问题不被重视。这里提到的 PHP 程序,主要就 WordPress 而言。
MySQL 4.1 字符集支持的原理MySQL 4.1 对于字符集的指定可以细化到一台机器上安装的 MySQL,其中的一个数据库,其中的一张表,其中的一栏,应该用什么字符集。但是,传统的 Web 程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置,那么,默认的配置从何而来呢?
编译 MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;
安装 MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;
启动 mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的;
此时 character_set_server 被设定为这个默认的字符集;
当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为 character_set_server;
当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;
在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;
当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;
这个字符集就是数据库中实际存储数据采用的字符集,mysqldump 出来的内容就是这个字符集下的;
简单的总结一下,如果什么地方都不修改,那么所有的数据库的所有表的所有栏位的都用 latin1 存储,不过我们如果安装 MySQL,一般都会选择多语言支持,也就是说,安装程序会自动在配置文件中把 default_character_set 设置为 UTF-8,这保证了缺省情况下,所有的数据库的所有表的所有栏位的都用 UTF-8 存储。
当一个 PHP 程序与 MySQL 建立连接后,这个程序发送给 MySQL 的数据采用的是什么字符集?MySQL 无从得知 (它最多只能猜测),所以 MySQL 4.1 要求客户端必须指定这个字符集,也就是 character_set_client,MySQL 的怪异之处在于,得到的这个字符集并不立即转换为存储在数据库中的那个字符集,而是先转换为 character_set_connection 变量指定的一个字符集;这个 connection 层究竟有什么用我不大明白,但转换为 character_set_connection 的这个字符集之后,还要转换为数据库默认的字符集,也就是说要经过两次转换;当这个数据被输出时,又要由数据库默认的字符集转换为 character_set_results 指定的字符集。
一个典型的环境典型的环境以我自己的电脑上安装的 MySQL 4.1 为例,我自己的电脑上安装着 Apache 2,PHP 5 和 WordPress 1.5.1.3,MySQL 配置文件中指定了 default_character_set 为 utf8。于是问题出现了:
WordPress 按照默认情况安装,所以所有的表都用 UTF-8 存储数据;
WordPress 默认采用的浏览字符集是 UTF-8 (Options->Reading 中设置),因此所有 WP 页面的 meta 中会说明 charset 是 utf-8;
所以浏览器会以 utf-8 方式显示所有的 WP 页面;这样一来 Write 的所有 Post,和 Comment 都会以 UTF-8 格式从浏览器发送给 Apache,再由 Apache 交给 PHP;
所以 WP 从所有的表单中得到的数据都是 utf-8 编码的;WP 不加转换的直接把这些数据发送给 MySQL;
MySQL 默认设置的 character_set_client 和 character_set_connection 都是 latin1,此时怪异的事情发生了,实际上是 utf-8 格式的数据,被“当作 latin1”转换成……居然还是转换成 latin1,然后再由这个 latin1 转换成 utf-8,这么两次转换,有一部分 utf-8 的字符就丢失了,变成 ??,最后输出的时候 character_set_results 默认是 latin1,也就输出为奇怪的东西了。
最神奇的还不是这个,如果 WordPress 中设置以 GB2312 格式阅读,那么 WP 发送给 MySQL 的 GB2312 编码的数据,被“当作 latin1”转换后,存进数据库的是一种奇怪的格式 (真的是奇怪的格式,mysqldump 出来就能发现,无论当作 utf-8 还是当作 gb2312 来读都是乱码),但如果这种格式以 latin1 输出出来,居然又能变回 GB2312!
这会导致什么现象呢?WP 如果使用 MySQL 4.1 数据库,把编码改用 GB2312 就正常了,可惜,这种正常只是貌似正常。
如何解决问题如果你已经不耐烦了 (几乎是肯定的),google 一下,会发现绝大部分的解答是,query 之前先执行一下:SET NAMES 'utf8',没错,这是解决方案,但本文的目的是说明,这为什么是解决方案。
要保证结果正确,必须保证数据表采用的格式是正确的,也就是说,至少能够存放所有的汉字,那么我们只有两种选择,gbk 或者 utf-8,下面讨论 utf-8 的情况。
因为配置文件设置的 default_character_set 是 utf8,数据表默认采用的就是 utf-8 建立的。这也应该是所有采用 MySQL 4.1 的主机提供商应该采用的配置。所以我们要保证的只是客户端与 MySQL 交互之间指定编码的正确。
这只有两种可能,客户端以 gb2312 格式发送数据,或者以 utf-8 格式发送数据。
如果以 gb2312 格式发送:
SET character_set_client='gb2312'
SET character_set_connection='utf8' 或者
SET character_set_connection='gb2312'
都是可以的,都能够保证数据在编码转换中不出现丢失,也就是保证存储入数据库的是正确的内容。
怎么保证取出的是正确的内容呢?考虑到绝大部分客户端 (包括 WP),发送数据的编码也就是它所希望收到数据的编码,所以:
SET character_set_results='gb2312'
可以保证取出给浏览器显示的格式就是 gb2312。
如果是第二种情况,客户端以 utf-8 格式发送 (WP 的默认情况),可以采用下述配置:
SET character_set_client='utf8'
SET character_set_connection='utf8'
SET character_set_results='utf8'
这个配置就等价于 SET NAMES 'utf8'。
WP 应该作什么修改还是那句话,客户端要发给数据库什么编码的数据,数据库是不可能确切知道的,只能让客户端自己说明白,所以,WP 是必须发送正确的 SET... 给 MySQL 的。怎么发送最合适呢?台湾的 pLog 同仁给出了一些建议:
首先,测试服务器是否 >= 4.1,编译时是否加入了 UTF-8 支持;是则继续
然后测试数据库以什么格式存储 ($dbEncoding);
SET NAMES $dbEncoding
对于第二点,WP 的情况是不同的,按照上面的典型配置,只要用 WP,肯定数据库是用 UTF-8 存储的,所以要根据用户设置的以 GB2312 还是 UTF-8 浏览来判断 (bloginfo('charset')),但这个值是要连接数据库以后才能得到的,所以效率最高的方式是连接数据库之后,根据这个配置设置一次 SET NAMES,而不必每次查询之前都设置一遍。
我的修改方式是这样的,在 wp_includes/wp-db.php 中增加:
function set_charset($charset)
{
// check mysql version first.
$serverVersion = mysql_get_server_info($this->dbh);
$version = explode('.', $serverVersion);
if ($version[0] < 4) return;
// check if utf8 support was compiled in
$result = mysql_query("SHOW CHARACTER SET like 'utf8'",
$this->dbh);
if (mysql_num_rows($result) < = 0) return;
if ($charset == 'utf-8' || $charset == 'UTF-8')
$charset = 'utf8';
@mysql_query("SET NAMES '$charset'", $this->dbh);
}
在 wp-settings.php 的 require (ABSPATH . WPINC . '/vars.php'); 后增加:
$wpdb->set_charset(get_bloginfo('charset'));
Link URL: http://junqilian.bokee.com/viewdiary.13255069.html




