empty connection string

A

AMC

Hi,

I'm using an include file to store the connection string to a database.
Whenever I try to reference that string to open a connection in the page
that includes the file I get the error 'empy connection string' . When I
write the string to the page using response.write(connectionstring) it shows
up fine. Is the something else that I need to do?

Thanks
 
B

Bob Barrows [MVP]

AMC said:
Hi,

I'm using an include file to store the connection string to a
database. Whenever I try to reference that string to open a
connection in the page that includes the file I get the error 'empy
connection string' . When I write the string to the page using
response.write(connectionstring) it shows up fine. Is the something
else that I need to do?

Thanks

Ah! I see it! the problem is on line 22 - right there at the 15th character!
Don't you see it?!?

Oh wait ... neither do I! You neglected to post the code that generated the
error.

;-)

Bob Barrows
 
A

AMC

Sorry,

Here is the code for the include file: By the way this connection string
works fine when used directly from a page rather than referenced from an
include file.

<%

constr = "Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;"

%>


Here's the code for the asp page that includes this file:

<!--#include virtual="/db.asp"-->

<%
set conn = server.CreateObject("ADODB.Connection")
conn.Open constr
%>


THanks again
 
B

Bob Barrows [MVP]

Nothing stands out. Time for some debugging:

<!--#include virtual="/db.asp"-->
<%
if len(constr) = 0 then
response.write "Empty connection string"
else
response.write constr
set conn = server.CreateObject("ADODB.Connection")
conn.Open constr
end if
%>

Bob Barrows
 
A

AMC

Hi,

I've already tried this - before I posted, and the connection string was
written to the page. This is why I'm perplexed as to why I am getting the
error that declares it empty.

Thanks
 
R

Roland Hall

in message : Sorry,
:
: Here is the code for the include file: By the way this connection string
: works fine when used directly from a page rather than referenced from an
: include file.
:
: <%
:
: constr = "Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
: Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
: DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;"
:
: %>
:
:
: Here's the code for the asp page that includes this file:
:
: <!--#include virtual="/db.asp"-->
:
: <%
: set conn = server.CreateObject("ADODB.Connection")
: conn.Open constr
: %>

In this line:
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
Is this correct? .database (dot database)?

--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp
 
B

Bob Barrows [MVP]

Let me get this straight. You are telling me that if you do this:

<!--#include virtual="/db.asp"-->
<%
dim localstr
on error resume next
if len(constr) = 0 then
response.write "Empty connection string from include file"
else
response.write "constr contains:<BR>" & constr & "<BR>"
set conn = server.CreateObject("ADODB.Connection")
conn.Open constr
if err <> 0 then
response.write "constr failure:<BR>"
response.write err.description & "<BR><BR>"
else
response.write "Successful connection with constr<BR>"
conn.close
end if
end if
localstr = "Driver={MySQL}; SERVER=localhost;" & _
"Port=0; Option=0;" & _
"Socket=/home/greyso2/greysonproperties.com/" & _
".database/mysql/mysql.sock;" & _
"DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;"
response.write "<BR>localstr contains:<BR>"
response.write localstr & "<BR>"
err.clear
conn.open localstr
if err <> 0 then
response.write "localstr failure:<BR>"
response.write err.description & "<BR><BR>"
else
response.write "Successful connection with localstr<BR>"
conn.close
end if
set conn=nothing
%>

You get this:

constr contains:
Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;
constr failure:
....empty connection string...

localstr contains:
Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;
Successful connection with localstr

Really? Are you sure you've correctly spelled "constr" in your conn.Open
statement?

Are you using Option Explicit? If not, you should add that line to your
db.asp file (it needs to be the first line processed")

Bob Barrows
 
A

AMC

That is correct, here is what I got when I rant the exact code you posted
below:

constr = "Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;"
Empty connection string from include file

localstr contains:Driver={MySQL}; SERVER=localhost;Port=0;
Option=0;Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.so
ck;DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;
Successful connection with localstr

I'll add option explicit to the include file. And yes I am spelling constr
correctly

Thanks
 
A

AMC

I added option explicit, but still have the same problem. Any additional
help would be appreciated. I really don't want to have to set the connection
string in every page that access the db.

Thanks again
 
A

AMC

Is there anything else I need to add to the include file or specify in the
other page to recognize this string? I feel like I'm missing something
really simple here.
 
R

Roland Hall

in message : Yes, I'm sure this is correct

You are attempting to use ODBC. You should use OLE DB.
constr = "Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;"

An OLE DB connection for mySQL:
"Provider=MySQLProv;Data Source=mydb;User Id=myuserid;Password=mypassword;"

http://dev.mysql.com/doc/connector/odbc/en/manual.html
http://able-consulting.com/MDAC/ADO/Connection/OLEDB_Providers.htm#OLEDBProviderForMySQL
http://www.connectionstrings.com/
http://www.vzio.com/tutorials/mysql_database.asp?page=4

--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp
 
B

Bob Barrows [MVP]

AMC said:
That is correct, here is what I got when I rant the exact code you
posted below:

constr = "Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;"

Is this text being written to the browser window? If so, where is it coming
from? Is it from a line of code in the include file?

The output from the code I posted begins below:
Empty connection string from include file

So this verifies that the constr variable does not have a value at this
point.
I'll add option explicit to the include file.

Bob Barrows
 
B

Bob Barrows [MVP]

AMC said:
I added option explicit, but still have the same problem. Any
additional help would be appreciated. I really don't want to have to
set the connection string in every page that access the db.

I think the next step is to add:

response.write "Within #include file, constr contains:<BR>"
response.write """" & constr & """"

to the include file to verify that the constr variable contains the
connection string. We know that it has no value in the "host" page so we
need to look more closely at the include file itself.

Bob Barrows
 
A

AMC

I'm connecting to a MYSQL database. I'm not sure if there is an OLEDB driver
for MYSQL, besides, the connection string works fine when used directly in a
page, the problem is accessing it from an included file. That is the issue I
am trying to address here. I appreciate your help, but please read my posts
before replying next time.
 
A

AMC

Thanks Bob, I'll try this next

Bob Barrows said:
I think the next step is to add:

response.write "Within #include file, constr contains:<BR>"
response.write """" & constr & """"

to the include file to verify that the constr variable contains the
connection string. We know that it has no value in the "host" page so we
need to look more closely at the include file itself.

Bob Barrows
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
 
A

AMC

Okay, this is the code now in the include file:

<%

option explicit

dim constr

constr = "Driver={MySQL}; SERVER=localhost; Port=0; Option=0;
Socket=/home/greyso2/greysonproperties.com/.database/mysql/mysql.sock;
DATABASE=greyso2_Greyson;UID=greyso2; PWD=kramer;"

response.write(constr)


%>

When I ran the page the string was written to the page, but I am still
getting the same error in the page that includes the file. Thanks for your
help.
 
A

AMC

I take that back. It looks like adding option explicit did the trick after
all.
Thanks again!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,140
Latest member
SweetcalmCBDreview
Top