ODBC 驱动程序不支持所需的属性0x80040E21

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。
/admin.asp, 第 3行

set rst=Server.CreateObject("ADODB.recordset")
sql="select * from user,info where u_n=i_n"
rst.open sql,conn,1,1
其中u_n字段是自动编号,i_n字段是文本
数据库连接的方式我换过了,不行

你换种数据库连接的方式

各种数据库连接代码:

MS Access数据库连接

用DSN连接并且没有用户名和密码:

<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "YourDSNName"
%>

用DSN连接并且有用户名和密码:

<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "YourDSNName","username","password"
%>

用实际的数据库绝对路径连接:

<%
Set conn = Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
Strconn=Strconn & "DBQ=e:\yanhang\database.mdb"
conn.Open Strconn
%>

用实际的数据库相对路径连接:

<%
Set conn = Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft Access Driver (*.mdb)}; "
Strconn=Strconn & "DBQ=" & Server.MapPath("/database/yanhang.mdb")
conn.Open Strconn
%>

MS SQL Server数据库连接

用DSN连接:

<%
set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=MyDSN;UID=user;PWD=password;DATABASE=databasename"
%>

不用DSN连接:

<%
Set conn = Server.CreateObject("ADODB.Connection")
DSNtemp="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename"
conn.open DSNtemp
%>

FoxPro数据库连接

<%
Set Conn = Server.CreateObject("ADODB.connection")
ConnStr= "Driver=Microsoft Visual Foxpro Driver; UID=userID;SourceType=DBC;SourceDB=C:\yanhang\database.dbc"
Conn.Open ConnStr
%>

Oracle数据库连接:

<%
set conn=server.createobject("adodb.connection")
conn.cursorlocation=adUseClient
DSNTemp="Provider=MSDAORA.1;Password=xxxxx;User ID=yanhang;Data Source=xxx.world"
conn.open DSNtemp
%>

参考资料:http://www.5axx.net/article/asp/112714142.html

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-31
你换种数据库连接的方式
各种数据库连接代码:
MS
Access数据库连接
用DSN连接并且没有用户名和密码:
<%
set
conn
=
Server.CreateObject("ADODB.Connection")
conn.open
"YourDSNName"
%>
用DSN连接并且有用户名和密码:
<%
set
conn
=
Server.CreateObject("ADODB.Connection")
conn.open
"YourDSNName","username","password"
%>
用实际的数据库绝对路径连接:
<%
Set
conn
=
Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft
Access
Driver
(*.mdb)};
"
Strconn=Strconn
&
"DBQ=e:\yanhang\database.mdb"
conn.Open
Strconn
%>
用实际的数据库相对路径连接:
<%
Set
conn
=
Server.CreateObject("ADODB.Connection")
Strconn="DRIVER={Microsoft
Access
Driver
(*.mdb)};
"
Strconn=Strconn
&
"DBQ="
&
Server.MapPath("/database/yanhang.mdb")
conn.Open
Strconn
%>
MS
SQL
Server数据库连接
用DSN连接:
<%
set
conn
=
Server.CreateObject("ADODB.Connection")
conn.open
"DSN=MyDSN;UID=user;PWD=password;DATABASE=databasename"
%>
不用DSN连接:
<%
Set
conn
=
Server.CreateObject("ADODB.Connection")
DSNtemp="DRIVER={SQL
Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename"
conn.open
DSNtemp
%>
FoxPro数据库连接
<%
Set
Conn
=
Server.CreateObject("ADODB.connection")
ConnStr=
"Driver=Microsoft
Visual
Foxpro
Driver;
UID=userID;SourceType=DBC;SourceDB=C:\yanhang\database.dbc"
Conn.Open
ConnStr
%>
Oracle数据库连接:
<%
set
conn=server.createobject("adodb.connection")
conn.cursorlocation=adUseClient
DSNTemp="Provider=MSDAORA.1;Password=xxxxx;User
ID=yanhang;Data
Source=xxx.world"
conn.open
DSNtemp
%>

ODBC 驱动程序不支持所需的属性0x80040E21
不用DSN连接:< Set conn = Server.CreateObject("ADODB.Connection")DSNtemp="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=databasename"conn.open DSNtemp > FoxPro数据库连接 < Set Conn = Server.CreateObject("ADODB.connection")ConnStr= "Driver=Microsoft Visual Fox...

...引出时出现“ODBC驱动程序不支持所需的属性”怎么解决?
ODBC驱动程序不支持所需的属性的解决办法 用这个连接串StrDSN="driver={SQLserver};server="&StrServer&",1104;uid="&StrUser&";pwd="&StrSaPwd&";database=database 出现下面错误 MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)ODBC驱动程序不支持所需的属性。用这个连接串 StrDSN="Provider=SQLO...

...错误 '80040e21' ODBC 驱动程序不支持所需的属性。
楼主 这个是连接方式错误,你使用ODBC数据源方式连接,必须保证服务器上也有相同的数据源,这个需要服务器权限,一般的站点是不开放此权限的

...0x80040E21) ODBC 驱动程序不支持所需的属性。
你也可以使用NT中的注册表监视程序(NTRegMon)来看读取失败信息。该程序到这找:6.错误信息:Microsoft OLE DB Provider for ODBC Drivers error '80004005'[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).原因:两个原因:当一个数据库中包含有分别在不用机器上的许可关系...

...OLE DB Provider for ODBC Drivers (0x80040E21) 这个问题如何解决...
这个错误提示的意思是数据类型不匹配或表\/字段错误或处于编辑状态,或不存在于conn打开的数据库中。结合你的语境,可能就是h_recommend是数字型,所以不应该加单引号。还有就是open 有4个参数 参考资料:http:\/\/blog.everalan.com\/7.html

...OLE DB Provider for ODBC Drivers (0x80040E21)
你的连接库语句好像不支持你现在的语句将 Set Rs = Server.CreateObject("Adodb.Recordset")Rs.Open "SELECT * FROM SmallClass ORDER BY SmallClassID asc",conn,1,1 换成 set rs=server.createobject("adodb.recordset")sql="select * from SmallClass ORDER BY SmallClassID asc"rs.open sql,...

ODBC 驱动程序不支持所需的属性
错在这里:rs.close 增删改的操作 RS会自动关闭 不会返回任何值的。所以再使用RS.CLOSE时就出错了。如果是select 操作 就应该要有rs.close了。把这句话去掉就可以了。

...DB Provider for ODBC Drivers error '80040e21'
应该是数据库连接问题.本来没学ASP不好意思!你可以网上搜错误信息(80040e21),可能你就找的到答案了~

Microsoft OLE DB Provider for SQL Server (0x80040E21)怎么解决?
MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->...

ODBC 驱动程序不支持所需的属性.
回答:sql="delete from [user] where id="&cstr(str2(i)) rs.open sql,conn,1,3 sql1="delete from [shoucang] where scid="&cint(str2(i))&" " rs.open sql1,conn,1,3 sql2="delete from [hf] where xxid="&cint(str2(i))&" " rs.open sql2,conn,1,3 上面这些是...

相似回答