2014-10-27 8 views
0

Я пытаюсь подключиться через классический asp к ресурсу базы данных на веб-странице. Я разрабатываю, используя GoDaddy в качестве услуги хостинга, parallels 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, и я был проинформирован о том, что они не блокируют меня.

EDIT: Я также попробовал этот код

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

+0

@ Да, однако, он сбой на oConn.Open (connectstr) line – Ssr1368

+0

также отсутствует слово «Set» при создании объекта, так как Set oConn = Server.CreateObject («ADODB.Connection») – Dee

ответ

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/

Очевидно, что более поздняя версия лучше, бу t Я видел несколько вопросов, которые предполагают, что GoDaddy STILL используют старый v3.51. Есть лучшие классические хосты asp, даже на уровне бюджета.

EDIT

У вас есть сообщения об ошибках жерех включены. Это легко сделать, если у вас есть соединение RDP, но вы не можете сделать это сами, если у вас есть только Plesk, поэтому вам нужно будет отправить их техническую поддержку по электронной почте.Во всяком случае, некоторые линии, чтобы попытаться изменить:

Для создания Recordset использования

Set oRS = oConn.Execute(qry) 

объекта Затем, когда вы уборки в конце

oRS.Close 
oConn.Close 

Set oRS = Nothing 
Set oConn = Nothing 
+0

Да, вы правы, также заметили, когда боретесь. Но все же я был неспособен сделать это. Я бы сказал, что это из-за ограничений GoDaddy, но это может быть моя ошибка, а не уверен. Спасибо за ваш ответ, проголосовали за него – Ssr1368

+0

Я добавил дополнение к своему ответу – John

0

Похоже, даже если GoDaddy говорит, что вы должны использовать свою базу данных так, как хотите, если вы не получите премиальный план, вы должны использовать свои собственные приложения. Я сделал это с использованием OBDC и подключением через DNS следующим образом:

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

Надеюсь, это поможет кому угодно.