Вопрос по vb.net, ms-access, asp.net – Подключиться к базе данных Access удаленно

1

Я пытаюсь подключиться к своей базе данных доступа, которую я разместил с Godaddy. У меня есть ASP 3.5, Php 5.2 и IIS 7. Я пошел и настроил виртуальный каталог в моих настройках IIS для сценария vb. Я использую Microsoft Visual Web Developer 2008. Может ли кто-нибудь сообщить мне, если они видят что-то не так с моей строкой подключения к удаленной базе данных? Мне действительно нужно использовать Access для этого. Спасибо

Код похож на учебник, которому я следовал.Руководство (это на испанском, но код работает локально, а не удаленно)

Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate
        Dim objConn As Object
        Dim objRecords As Object
        Dim strConn As String
        Dim strQuery As String

        objConn = Server.CreateObject("ADODB.Connection")
        strConn = "Provider=MS Remote;" & "Remote Server=http://(IP Address here);" & "Remote Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("/logs/App_Data/users.mdb") & "Uid=admin" & "Pwd="
        objConn.Open(strConn)

        strQuery = "SELECT * FROM tbl_usuarios"
        strQuery = strQuery + " Where str_usuario_ide='" + Login1.UserName + "'"
        strQuery = strQuery + " And   str_usuario_cve='" + Login1.Password + "'"

        objRecords = objConn.Execute(strQuery)
        If (Not objRecords.BOF) Then
            e.Authenticated = True
        Else
            e.Authenticated = False
        End If

        objRecords.Close()
        objConn.Close()
        objRecords = Nothing
        objConn = Nothing
    End Sub
End Class
Ну, на сервере только что установлены asp и php. Я думал, что это будет полезно в качестве ссылки. Сценарий размещен на серверах Godaddy, он просто дает мнеServer Error in '/logs' Application. сообщение, когда я пытаюсь подключиться к нему. Grant Wilkinson
Я предполагал, что вы подписываетесь на план общего хостинга вместо планов серии 4GH, верно? как планы 4GH не имеют службы MS Access ... Raptor
Да, это план общего хостинга. Я мог бы использовать службу MS Access и создать DSN для базы данных, но мне потребовалась бы некоторая помощь в преобразовании указанной выше строки подключения в DSN. Это то, что вы думали? Спасибо Grant Wilkinson
смесь PHP и ASP? Вы уверены, что Доступ уже доступен на сервере GoDaddy? Кроме того, почему вы также не размещаете свой скрипт на GoDaddy? Raptor

Ваш Ответ

1   ответ
6

Вы не можете подключиться к базе данных MS Access, находящейся на сервере, если вы не используете полный путь UNC. Это означает, что нет технологии http: //

http: это ГАЛАКТИЧЕСКАЯ технология, отличная от сетевой системы Windows. Чтобы правильно открыть файл Excel, файл Word или, в этом случае, файл Access, вы не можете использовать ftp или что-то вроде http:

Вы должны использовать Windows Network. Это означает, что вам нужно настроить VPN, а ТАКЖЕ вам нужно использовать сеть WINDOWS (не Linux и не Apple OS на этом сервере). В случае с Linux вы можете надеяться и «требовать» эта SAMBA установлена, чтобы получить стандартную сетевую систему Windows. (таким образом, чтобы компьютер с ОС Windows открывал файлы на компьютере с Linux, вам необходимо установить сетевую систему с поддержкой Windows).

Таким образом, строка подключения для подключения к стандартному файлу mdb или accDB - это полное имя окна Windows. Указанное вами имя пути ДОЛЖНО быть стандартным именем пути Windows и ДОЛЖНО основываться на стандартной сетевой системе Windows. Поэтому, если вы настроите VPN, а затем вы сможете просматривать файлы в этой папке через сеть Windows (не через http и не через FTP), тогда будут работать стандартные механизмы блокировки и открытия окон, которые необходимы для открытия стандартного файла Windows, расположенного на папка. Таким образом, вам во всех случаях по-прежнему требуется папка на локальном жестком диске или папка, сопоставленная с сетевым окружением. И, как уже отмечалось, сетевая система должна быть на базе Windows. Я не верю, что GoDaddy имеет для базовых планов возможность VPN и прямого использования файлов и манипулирования основными файлами, расположенными на их серверах (вы должны использовать ftp для размещения файлов на своих серверах, а не общую сетевую папку Windows). ). И более важно, что такое прямое использование файлов в случае файлов mdb / accDB ДОЛЖНО быть сетью Windows.

Я читал, что GoDaddy разрешает внешние подключения к своим параметрам сервера базы данных. Таким образом, MySql или возможный сервер SQL для пакета Windows. Однако предостережение заключается в том, что по умолчанию для планов MOST они не разрешают дикому Интернету подключаться к своим внутренним серверам базы данных. Фактически, в любом плане, где они разрешают такие соединения, они «перемещаются». размещенный веб-сайт на другом наборе серверов, так что, по крайней мере, если он будет скомпрометирован, позволив дикому миру Интернета «соединиться»; таким внутренним серверам баз данных не все серверы будут подвержены или нарушены таким нарушением безопасности.

Таким образом, я бы предложил вам использовать настоящий сервер баз данных. Я вижу мало (если таковые имеются) причины для попытки использовать файл MDB, сидя на веб-сервере в любом случае.

Таким образом, SQL-сервер или MySql могут принимать сокет-соединение и могут делать это по ЛЮБОЙ сети, которая поддерживает TC / IP. Однако MS Access «файл» не принимает такие соединения. Так что http или ftp не разрешены. Помните & quot; mdb & quot; или "accDB"; файл это просто файл, сидящий на жестком диске.

Таким образом, если вы используете Excel, Power-Point, AUTO CAD или простой файл Access, то такой «сокет» не будет. подключение возможно. Таким образом, вы больше не можете использовать строку подключения к Power-Point, как вы можете использовать простой файл Windows, расположенный на жестком диске веб-сервера, который, как оказалось, имеет расширение mdb или accDB.

Файл - это файл, это файл. Лошадь это лошадь это лошадь. Итак, вы говорите о простом файле Windows Jane, который находится в папке на этом сервере.

Если вы собираетесь использовать программу Windows (например, Power Point или, в данном случае, MS Access), чтобы открыть и изменить этот файл, то вам нужно открыть этот файл, используя стандартную сеть Windows, а не какую-либо систему веб-соединения.

Таким образом, невозможно открыть строку подключения, чтобы открыть Windows-файл плоскости Джейн, будь то ваша любимая программа рисования или просто файл Access.

Конечно, если программное обеспечение, которое вы собираете, работает на стороне сервера, и "JET" Движок правильно установлен на этом сервере (и он должен быть), тогда вы можете написать какой-нибудь vb.net или любой другой код, который имеет стандартную строку соединения oleDB. Так что для серверного кода вы наверняка можете использовать строку подключения, но если вы посмотрите ЗАКРЫТО, вы ВСЕГДА будете использовать полное имя пути Windows, и, как уже было отмечено, вы должны запускать совместимый с Windows сервер с установленным ядром базы данных JET.

Похожие вопросы