Knowledge Base

INFO: ADO 2.0 Command Object ConnectionString Property Changes

Article ID: 192227

Article Last Modified on 3/2/2005


APPLIES TO


This article was previously published under Q192227

SUMMARY

Active Server Pages (ASP) applications written with ActiveX Data Objects (ADO) that pass the ADO ConnectionString property using either HTTP POST or GET fail to connect.

MORE INFORMATION

ADO 2.0 returns the ConnectionString with the "Extended Properties" argument in double-quotes. Passing this value to an HTML property may result in the ConnectionString value being truncated at the first double- quote encountered.

An example of the ConnectionString property returned using ADO 2.0 follows:

   Provider=MSDASQL.1;Data Source=test;Connect Timeout=15;
   Extended Properties="DSN=test;DBQ=C:\Data\MyData.mdb;
   DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5;";
   Locale Identifier=1033
				


To resolve this issue, replace the double quotes with the HTML variable """. This can be accomplished using the Server.HTMLEncode() in an Active Server Page.

WARNING! The following sample is intended only as an example. Including an ODBC connect string in HTML source could present a breach in security by exposing userids, passwords and the location of data in clear text and is not a recommended practice.

Sample Code

   <%@ LANGUAGE="VBScript"%>
   <%
   Set objConn = Server.CreateObject("ADODB.Connection")
   objConn.Open "MyConnectString"
   %>

   <form method=post action=myasp.asp>

   <input type=hidden name=txtConnString
   value="<%=Server.HTMLEncode(objConn.ConnectionString)%>">

   <input type=submit value=" Go! ">
   </form>
				

Keywords: kbinfo kbdatabase kbmdacnosweep kbcode KB192227