瓜瓜笔记

导航

公告

统计

2012年5月4日 #

cakephp2 运行时时区出错

Warning (2): strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead   


在php.ini中,设置date.timezone = PRC就可以解决了。

posted @ 2012-05-04 17:09 瓜瓜 阅读(1) 评论(0)  编辑

2011年10月24日 #

[转帖]SQL2008 创建定时任务作业

1.打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】;

--2.鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤;
--3.展开【SQL Server 代理】列表,右击【作业】-->【新建作业】;
--3.1  在【常规】选项卡中:
--       输入作业名称,如"My Job";
--3.2  在【步骤】选项卡中:
--3.2.1 点击【新建】,输入【步骤名称】,如“步骤1”,类型默认T-SQL脚本,也可以选择SSIS包等;
--3.2.2 在【数据库】一栏选择要作业处理的数据库,在【命令】的右边空白编辑栏输入要执行的SQL代码,

     EXEC p_Name  --如:执行一个P_Name的存储过程


--      也可以点击命令下面的【打开】,打开.sql脚本;

--3.2.3 输入运行脚本后,建议点击【分析】,确保脚本语法正确,然后点击下面的【确定】按钮;

--3.3  在【计划】选项卡中:
--3.3.1 点击【新建】,输入【计划名称】,如“计划1”,计划类型默认是”重复执行”,也可以选择执行一次等;
--3.3.2 在【频率】-->【执行】处选择“每天”、“每周”或“每月”,以“每天”为例,间隔时间输入间隔几天执行一次,
--      下面还可以选择每天一次性执行或间隔一定的时间重复执行
--3.3.3 在【持续时间】中选择计划开始执行的【起始日期】和【截止日期】,然后点击【确定】按钮;


--注意要将服务设置为自动启动,否则在重启服务器后作业就不运行了。
--启动代理服务的方法:
--开始-->运行-->输入services.msc-->找到【SQL Server 代理】的服务并双击-->【启动类型】选择“自动”-->【确定】

--至此,定时作业已创建完毕。

posted @ 2011-10-24 10:34 瓜瓜 阅读(211) 评论(0) 编辑

2011年8月16日 #

[转帖]ASP.NET4中不要相信Request.Browser.Cookies,Form验证要用UseCookies

从ASP.NET 3.5升级至ASP.NET4之后,遇到三种登录后不能保存cookie的情况(升级前一切正常):

1. 遨游3在极速模式下(默认模式)。

2. FireFox中修改了UserAgent。

3. 诺基亚手机自带浏览器或者UCWeb浏览器访问博客园手机版(m.cnblogs.com)。

今天终于把罪魁祸首给揪出来了,它就是Request.Browser.Cookies。

如果你在程序中使用Form验证并使用cookie保存用户的登录状态,请切记:在<authentication mode="Forms">/<forms>中要加上cookieless="UseCookies"。如果不这样设置的话,cookieless会使用默认值UseDeviceProfile。用了UseDeviceProfile,悲剧就发生了,ASP.NET会根据Request.Browser.Cookies来判断当前浏览器是否支持Cookie(如若不信,请用Reflector查看System.Web.Security.FormsAuthentication的代码)。而Request.Browser.Cookies会认为上面的三种情况不支持cookie(可能还有更多误判的情况)。

而在ASP.NET 3.5及ASP.NET 2.0不存在这样的误判。不信的话,大家用下面的代码验证一下:

Response.Write(Request.Browser.Cookies);

用遨游3在极速模式下访问,若是ASP.NET4,则显示False;若是ASP.NET 3.5,则显示True。

本来准备写到这里就结束,但是在写的过程中,觉得不甘心,被这个折腾的差点崩溃,一定要看个究竟,ASP.NET4凭什么认为遨游3不支持cookie。

1)先用下面的代码看一下ASP.NET4把遨游3当成什么浏览器:

Response.Write(Request.Browser.Browser);

答案是:Safari

难道微软在这里搞了小花招,只要是Safari,故意认为它不支持cookie。

用正宗的Safari测试了一下,Request.Browser.Cookies返回True。冤枉微软了,微软也不会这么小家子气。

2) 再用Request.UserAgent看一下遨游3的UserAgent:

结果是:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/533.9 (KHTML, like Gecko) Maxthon/3.0 Safari/533.9

双核浏览器是果然不同反响。难道是复杂的UserAgent让ASP.NET4很恼火:谁家的浏览器这么复杂,干脆判定你不支持cookie。

3) 接下来是关键的一步,找出ASP.NET4根据什么判断当前浏览器是否支持cookie?可以确定的是,不是抛硬币抛出来的。

用Reflector看源代码,看得头昏脑胀,也没找到答案。算了,那就用杀手锏——猜测法。嘿嘿,这招竟然管用。

原来ASP.NET4是根据下面的文件夹中的数据进行判断的:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers

打开这个文件夹一看:

1

眼前一亮,迫不及待地打开safari.browser:

2

呵呵,原来真相躲在这里。稍微分析一下这个文件,就能知道:

遨游3匹配的是第一项(也就是<browser id="Safari" parentID="Mozilla">部分),这项配置中没有设置cookies=true。

而正宗的Safari不仅匹配了第一项,还匹配了第二项,(也就是<browser id="Safari3to4" parentID="Safari">部分)这里设置了<capability name="cookies"  value="true" />。

果然是遨游3“冒充”别人家的浏览器造成的,微软没想到会出现这样的的UserAgent。

找到真相,问题就容易解决了。开始以为只要在第一项中加<capability name="cookies" value="true" />就行了,但没这么简单:

1. safari.browser文件修改不能保存,提示说是只读文件。解决方法是:将safari.browser复制到其他地方,改好后,再复制回来,覆盖现有文件。

2. 要以管理员身份运行下面的命令将这些.browser文件编译成程序集并安装到GAC中:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regbrowsers.exe –i

3

搞定!终于真相大白,不枉一场折腾。

如果不写这篇随笔,可能加上cookieless="UseCookies"就完事,不会有接下来的深入研究。

当你有一个收获,通过博客写出来之后,不仅加深了这个收获,很多时候你还会有意外的收获...

 

原文链接 

http://www.cnblogs.com/dudu/archive/2011/03/06/asp_net_4_browser_cookie.html

 

 

posted @ 2011-08-16 21:56 瓜瓜 阅读(79) 评论(0) 编辑

2011年8月3日 #

获取SQL Server表与字段信息的视图

获取SQL Server表与字段信息的视图,适用于2005以上版本。

 

create view v_metadata as 
SELECT 
TableName = D.NAME,--表名
TableDesc = ISNULL(F.VALUE, ' '), --表说明
ColumnIndex = A.COLORDER, --字段序号
ColumnName = A.NAME, --字段名
IsIndentity = CASE WHEN COLUMNPROPERTY(A.ID,A.NAME, 'ISIDENTITY ')=1 THEN 'Yes 'ELSE ' ' END, --标识
IsKey = CASE WHEN EXISTS(SELECT 1 FROM SYSOBJECTS WHERE XTYPE= 'PK ' AND PARENT_OBJ=A.ID AND NAME IN ( 
SELECT NAME FROM SYSINDEXES WHERE INDID IN( 
SELECT INDID FROM SYSINDEXKEYS WHERE ID = A.ID AND COLID=A.COLID))) THEN 'Yes ' ELSE ' ' END, --主键
DataType = B.NAME, --数据类型
ColumnByte = A.LENGTH, --占用字节数
ColumnLength = COLUMNPROPERTY(A.ID,A.NAME, 'PRECISION '), --长度
NumberLength = ISNULL(COLUMNPROPERTY(A.ID,A.NAME, 'SCALE '),0), --小数位数
[IsNull] = CASE WHEN A.ISNULLABLE=1 THEN 'Yes 'ELSE ' ' END, --允许为空
DefaultValue = ISNULL(E.TEXT, ' '), --默认值
ColumnDesc = ISNULL(G.[VALUE], ' ') --字段说明
FROM 
SYSCOLUMNS A LEFT JOIN SYSTYPES B ON A.XUSERTYPE=B.XUSERTYPE 
INNER JOIN SYSOBJECTS D ON A.ID=D.ID   AND D.XTYPE= 'U ' AND   D.NAME <> 'DTPROPERTIES ' 
LEFT JOIN SYSCOMMENTS E ON A.CDEFAULT=E.ID 
LEFT JOIN sys.extended_properties G ON A.ID=G.major_id AND A.COLID=G.minor_id   

LEFT JOIN sys.extended_properties F ON D.ID=F.major_id AND F.minor_id=0  

 

 

posted @ 2011-08-03 16:35 瓜瓜 阅读(86) 评论(0) 编辑

2011年7月9日 #

[转载]SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型

SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
2009-03-14 10:48

1.获取所有用户名:
SELECT name FROM Sysusers 
where status='2' and islogin='1'
islogin
='1'表示帐户
islogin
='0'表示角色
status
='2'表示用户帐户
status
='0'表示糸统帐户
2.获取所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
3.获取所有表名
SELECT Name FROM DatabaseName..SysObjects Where XType
='U' ORDER BY Name
XType
='U':表示所有用户表;
XType
='S':表示所有系统表;
4.获取所有字段名:
SELECT Name FROM SysColumns WHERE id
=Object_Id('TableName')
5.获取数据库所有类型
select name from systypes 
6.获取主键字段
SELECT   name FROM SysColumns WHERE id
=Object_Id('表名') and colid=(select top 1 keyno from sysindexkeys where id=Object_Id('表名'))

7、获取字段类型

select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id('表名') and a.xtype=b.xtype
或者可以通过存储过程
exec sp_help 表名

8、取表结构

select column_name,data_type,character_maximum_length from information_schema.columns where table_name = '表名'

 

 

/****************************************************************************************************************************/

/*--获取连接SQL服务器的信息 

所有连接本机的:操作的数据库名,计算机名,用户名,网卡物理地址,IP地址,程序名 

--邹建 2003.11(引用请保留此信息)--*/ 

/*--调用示例 
--显示所有本机的连接信息 
exec p_getlinkinfo 

--显示所有本机的连接信息,包含ip地址 
exec p_getlinkinfo @includeip=1 

--显示连接指定数据库的信息 
exec p_getlinkinfo '客户资料' 
--*/ 
create proc p_getlinkinfo 
@dbname sysname=null, --要查询的数据库名,默认查询所有数据库的连接信息 
@includeip bit=0 --是否显示IP地址,因为查询IP地址比较费时,所以增加此控制 
as 
declare @dbid int 
set @dbid=db_id(@dbname) 

create table #tb(id int identity(1,1),dbname sysname,hostname nchar(128),loginname nchar(128),net_address nchar(12),net_ip nvarchar(15),prog_name nchar(128)) 
insert into #tb(hostname,dbname,net_address,loginname,prog_name) 
select distinct hostname,db_name(dbid),net_address,loginame,program_name from master..sysprocesses 
where hostname<>'' and (@dbid is null or dbid=@dbid) 

if @includeip=0 goto lb_show --如果不显示IP地址,就直接显示 

declare @sql varchar(500),@hostname nchar(128),@id int 
create table #ip(hostname nchar(128),a varchar(200)) 
declare tb cursor local for select distinct hostname from #tb 
open tb 
fetch next from tb into @hostname 
while @@fetch_status=0 
begin 
set @sql='ping '+@hostname+' -a -n 1 -l 1' 
insert #ip(a) exec master..xp_cmdshell @sql 
update #ip set hostname=@hostname where hostname is null 
fetch next from tb into @hostname 
end 

update #tb set net_ip=left(a,patindex('%:%',a)-1) 
from #tb a inner join ( 
select hostname,a=substring(a,patindex('Ping statistics for %:%',a)+20,20) from #ip 
where a like 'Ping statistics for %:%') b on a.hostname=b.hostname 

lb_show: 
select   id,dbname as '数据库名',hostname as '客户机名',loginname as '用户名'   
,net_address as '网卡物理地址',net_ip as 'IP地址',prog_name as '应用程序名称'   from   #tb 

go  

 

原文地址:

http://blog.csdn.net/painss/article/details/4324973

 

posted @ 2011-07-09 20:03 瓜瓜 阅读(164) 评论(0) 编辑

2011年7月4日 #

卡巴斯基导致SVN不能正常工作

摘要: 重新安装了系统,在部署上SVN之后,使用TortoiseSVN提交发生错误:错误: 提交失败(细节如下): 错误: 服务器发送了意外的返回值(400 Bad Request),在响应 “MERGE” 的请求查找了很多资料,还一直以为是64位版本导致的问题。折腾了两天,最后发现是KIS2012搞出来的问题,在关闭掉保护之后,就可以正常提交了。于是将SVN与TortoiseSVN都设置为KIS的信任程序,之后问题解决。阅读全文

posted @ 2011-07-04 23:30 瓜瓜 阅读(152) 评论(0) 编辑

2011年6月23日 #

sql server2008 设置允许远程访问

摘要: 1、在ssms中,右键点击数据库,选择“方面",在"服务器配置"中将“RemoteAccessEnabled”属性设为“True”,点“确定”。2、设置本机的防火墙 ;阅读全文

posted @ 2011-06-23 11:02 瓜瓜 阅读(95) 评论(0) 编辑

2011年6月8日 #

asp.net 泛二级域名解析

摘要: 最近项目上需要泛二级域名解析,参考了网上的方案,然后结合自己的需求做了一个示例。需求如下:1、我们的域名是domain.com,服务器用一个相同的IP地址;2、www.domain.com 指向服务器中我们自己的index.aspx;3、xxx.domain.com 指向服务器中客户的site.aspx;4、我们自己的页面和客户的页面都在一个网站项目下;具体做法如下:1、引用微软的URLRewriter项目,并修改其中BaseModuleRewriter.cs和ModuleRewriter.cs的源代码; protected virtual void BaseModuleRewriter_Au阅读全文

posted @ 2011-06-08 15:03 瓜瓜 阅读(490) 评论(2) 编辑

2011年4月1日 #

[转载]asp.net 的验证机制

摘要: 原文:http://www.cnblogs.com/jsonzheng/archive/2010/08/30/1812715.html实现:验证用户身份成功,并登陆后台Admin文件夹里的index.aspx后台管理首页面,否则禁止匿名用户访问项目中的Admin文件夹里的任何一个文件。步骤一:在根目录下的web.config中加入:<system.web><authentication mode="Forms"> <forms loginUrl="Login.aspx" defaultUrl="Admin/Inde阅读全文

posted @ 2011-04-01 10:38 瓜瓜 阅读(37) 评论(0)  编辑

2008年7月22日 #

苹果CEO乔布斯如何工作

posted @ 2008-07-22 12:58 瓜瓜 阅读(27) 评论(0)  编辑

仅列出标题  下一页