近期开发过程中遇到的一些不常见问题的解决方法(更新中)
1 SQL SERVER2005下,使用OpenRowset创建链接服务器:
需要打开两个开关:
1). 在注册表查找DisallowAdhocAccess 置为1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Providers\SQLOLEDB
2). 打开ad hoc高级选项
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries',1
GO
RECONFIGURE;
GO
2 WIN2003下,无组件上传不能超过200k。
IIS-计算机属性-勾选“允许直接编辑配置数据库”,然后在服务里关闭iis admin service服务,查找文件找到windows\system32\inesrv\下的metabase.xml, 用记事本编辑,找到ASPMaxRequestEntityAllowed 把它修改为需要的值,默认为204800,即200K .把它修改为51200000(50M),最后,重启iis admin service服务。
3 网上流行的MD5算法(MD5.ASP),在处理中文时,与标准的MD5算法结果不同!
4 如果在表A的Insert触发器中,又插入到表B一条记录,那么插入操作后取到的@@identity是表B中的数据。
要获取表A的新增加数据的自增变量值,触发器可以这样写:
CREATE TRIGGER Trigger_A_Insert ON A FOR INSERT AS
declare @id int
SELECT @id = @@IDENTITY
--这里做插入表B的操作
Insert B (...) Value (...)
SELECT @id AS IDENTITY
--关键!
GO
然后 Insert Table A ()...
会返回一行 IDENTITY 的值。
在程序中可以用Open打开即可,如同打开一张表。
5 IIS7下,Request.ServerVariables("Appl_Physical_Path")
所返回的路径末尾没有“\”
(IIS5、6下该路径末尾都有“\”)
不好意思,很长时间没有更新了,主要是不常见的问题也不多是不是?
6 ACCESS中,保存日期格式的时候,是可以保存非法日期的。例如"208-1-1"
但是这种数据,无法直接导入到SQL SERVER中。此时导入前,需要先在ACCESS中将日期更新为正确的格式。
7 SQL SERVER标准版、个人版,同时并发的查询不能超过8个,超过8个后访问速度就会变慢,需要安装企业版。