Классическое соединение ASP/ADO с базой данных с помощью GoDaddy

Я пытаюсь подключиться через классический asp к ресурсу базы данных на веб-странице, которую я разрабатываю, используя GoDaddy в качестве службы хостинга, параллель plesk в качестве панели управления и для управления моей базой данных. GoDaddy предлагает мне страницу phpmyadmin.

Вот код, который я нашел, я должен был использовать:

<%
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 со вторым.

2 ответа

Решение

Если у вас есть PHPMyadmin для редактирования вашей базы данных, то ваша база данных MySQL, а не SQL-сервер

Строки подключения для v3.51 драйвера можно найти здесь

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

и для v5.1 здесь

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

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

РЕДАКТИРОВАТЬ

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

Для создания объекта Recordset используйте

 Set oRS = oConn.Execute(qry)

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

oRS.Close
oConn.Close

Set oRS = Nothing
Set oConn = Nothing

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

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

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

Другие вопросы по тегам