一个SQL语句有最大长度限制吗?如果有是多少呢?

shoopman 2003-11-23 06:35:21
sql="select * from (select * from Total union select * from [E:\Web\MIS\data\1999-00.asp].Total union select * from [E:\Web\MIS\data\2001-02.asp].Total union select * from [E:\Web\MIS\data\2002-03.asp].Total union select * from [E:\Web\MIS\data\2003-04.asp].Total ) Where 2>1 AND Center='CD' AND Consultant='Sarah' AND Country='UK' AND Stream='Business' AND (PinyinName LIKE '%%' OR EnglishName LIKE '%%' OR StudentID LIKE '%%' OR DOB LIKE '%%' OR UCAS_NO LIKE '%%') ORDER BY PinyinName"
set rs=conn.execute(sql) '第6行

==================================================
我在用ASP运行上面长度为481的SQL语句时,提示下面错误,怎么会事呢?

Microsoft OLE DB Provider for ODBC Drivers 错误 '8007000e'
[Microsoft][ODBC Microsoft Access Driver] 定义了过多字段。
/test.asp,行 6
...全文
832 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoopman 2003-11-25
  • 打赏
  • 举报
回复
5555.....不允许给自己给分。。。。
5555555
shoopman 2003-11-25
  • 打赏
  • 举报
回复
原因是只能用Union连接两个数据表,即A union B是允许的,而A union B union C就报错,但这样却可以:A union (B union C)。
请参考下面的语句:
select * from (select * from (select * from (select * from (select * from (select * from Total union select * from [E:\Web\MIS\data\1999-00.asp].Total) union select * from [E:\Web\MIS\data\2001-02.asp].Total) union select * from [E:\Web\MIS\data\2002-03.asp].Total) union select * from [E:\Web\MIS\data\2003-04.asp].Total) ) Where 2>1
shoopman 2003-11-24
  • 打赏
  • 举报
回复
我已经解决了,请版主帮我结了吧!谢谢
yonghengdizhen 2003-11-24
  • 打赏
  • 举报
回复
ado对提交的sql语句限制为8000字节以内
anantnt203120 2003-11-24
  • 打赏
  • 举报
回复
怎么解决的,告诉大家啊!
lovehwq21 2003-11-24
  • 打赏
  • 举报
回复
自已可以结,左边菜单=》我的专家门诊=》我的问题=》选要结的问题=》管理,操作就OK了
eliphe 2003-11-24
  • 打赏
  • 举报
回复
自己可以结
cuijiansheng 2003-11-23
  • 打赏
  • 举报
回复
隨便書上都有啊
shoopman 2003-11-23
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2145/2145652.xml?temp=.4528772
在这个贴子有位兄弟如是说:
==============================================================
回复人: zhengjialon(小刺) ( ) 信誉:120 2003-8-14 14:36:01 得分:5
最大的长度为 32,768 个字符
==============================================================

那这个错误(定义了过多字段)是什么意思呢?
==============================================================
Microsoft OLE DB Provider for ODBC Drivers 错误 '8007000e'
[Microsoft][ODBC Microsoft Access Driver] 定义了过多字段。
/test.asp,行 6
shoopman 2003-11-23
  • 打赏
  • 举报
回复
sql="select * from (select * from [E:\Web\MIS\data\2003-04.asp].Total union select * from [E:\Web\MIS\data\2002-03.asp].Total) Where 2>1 AND Center='CD' AND Consultant='Sarah' AND Country='UK' AND Stream='Business' AND (PinyinName LIKE '%%' OR EnglishName LIKE '%%' OR StudentID LIKE '%%' OR DOB LIKE '%%' OR UCAS_NO LIKE '%%') ORDER BY PinyinName"
当长度为342时,sql语句为上面所示,即少了2个union子句时,程序可以正常运行了。。。
难道真的是有长度限制吗?
supere 2003-11-23
  • 打赏
  • 举报
回复
不过你的这个错误提示不想是因为SQL超长造成的
supere 2003-11-23
  • 打赏
  • 举报
回复
有最大长度!不过具体的记不的了!你可以差一下SQL SERVER的帮助

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧