2014-10-27 106 views
0

我想通过经典的asp连接到一个网页的数据库资源我正在开发使用GoDaddy作为托管服务,平行plesk作为控制面板和控制我的数据库GoDaddy为我提供了一个phpmyadmin的页面。经典的ASP/ADO连接到数据库使用GoDaddy

这里是我发现我不得不使用代码:

<% 
Dim oConn 
Dim qry 
Dim connectstr 
Dim db_name 
Dim db_username 
Dim db_userpassword 
Dim db_server 
Dim oRs 
Dim fieldname 
Dim tablename 

db_server = "XXX" 
db_name = "XXX" 
db_username = "XXX" 
db_userpassword = "XXX" 
fieldname = "XXX" 
tablename = "XXX" 
connectstr = "Driver={SQL Server};SERVER=" & db_server & ";DATABASE=" & db_name & ";UID=" & db_username & ";PWD=" & db_userpassword 
Set oConn = Server.CreateObject("ADODB.Connection") 
oConn.Open(connectstr) 

qry = "SELECT * FROM " & tablename 

oRS = oConn.Execute(qry) 

Do until oRs.EOF 
    Response.Write(ucase(fieldname) & ": " & oRs.Fields(fieldname)) 
    oRS.MoveNext 
Loop 
oRs.Close 


oRs = nothing 
oConn = nothing 
%> 

但是我不能使它工作。 [这是通过我的浏览器加入的结果网页](http://i.imgur.com/Cg3lnPv.png

它在我看来像一个语法错误,但我有点测试它,我什么都看不到。

我一直在为此挣扎大约5-10天,而我目前陷入困境。任何帮助将不胜感激。

添加: 我跟GoDaddy的技术支持交谈过,我被告知他们根本没有阻止我。

编辑: 我也试过这个代码

Set strConnString=Server.CreateObject("ADODB.CONNECTION") 
connect = "Provider=SQLOLEDB;Data Source=XXX;UID=XXX; PWD=XXX; database=XXX;" 
strConnString.ConnectionString = connect 
strConnString.Open 

strConnString = nothing 

,但它一直没有工作。这是绝望。

给出问题的线路是用两个代码打开与数据库的连接的线路。第一种方法是oConn.Open(connectstr),第二种是strConnString.Open

+0

你就做你的Response.Write连接字符串来验证它? – Dee 2014-10-28 01:10:28

+0

@Dee是的,但是它在oConn.Open(connectionstr)行 – Ssr1368 2014-10-28 02:22:05

+0

也崩溃了,在创建对象时缺少单词“Set”,如Set oConn = Server.CreateObject(“ADODB.Connection”) – Dee 2014-10-28 07:07:26

回答

1

如果您有phpMyAdmin编辑您的数据库,然后你的数据库是MySQL的,而不是SQL服务器

驱动程序的V3.51连接字符串可以在这里找到

http://www.connectionstrings.com/mysql-connector-odbc-3-51/

和V5 0.1在这里

http://www.connectionstrings.com/mysql-connector-odbc-5-1/

显然后来的版本更好,BU我已经看到几个建议GoDaddy仍在使用旧版v3.51的问题。有更好的经典asp主机,即使在预算水平。

编辑

您是否启用了友好的asp错误消息。如果您有RDP连接,这很容易,但如果您只有Plesk,则无法自行完成,因此您需要通过电子邮件发送技术支持。无论如何,一些行尝试改变:

要创建Recordset对象使用

Set oRS = oConn.Execute(qry) 

然后,当你在最后的整理

oRS.Close 
oConn.Close 

Set oRS = Nothing 
Set oConn = Nothing 
+0

是的,你是对的,在挣扎的时候也注意到了。但是我仍然无法让它工作。我想说这是因为GoDaddy的限制,但它可能是我的错,而不是确定。谢谢你的回答,投了票 – Ssr1368 2014-10-28 17:19:31

+0

我已经补充了我的答案 – John 2014-10-28 17:54:36

0

即使GoDaddy说你应该使用你的数据库,如果你没有得到你要使用他们自己的应用程序的保费计划,看起来像。我使用OBDC工作,并通过DNS连接如下:

set conn=Server.CreateObject("ADODB.Connection") 
conn.Open "DSN=obdcName;UID=userName;PWD=password" 

希望这可以帮助任何人。