2013-10-26 2 views
2

ошибка при попытке создать связанную таблицу в БД доступа на веб-сервере - ошибка на ADOX.Catalog не уверен, что мне нужно наследовать ADOX или как?Создание связанной таблицы в MS-Access DB на веб-сервере

ошибка:

Компилятор Сообщение об ошибке: BC30002: Тип 'ADODB.Catalog' не определена.

Protected Sub Page_Load(ByVal sender As Object, _ 
         ByVal e As System.EventArgs) Handles Me.Load 

      '''''''''''''''''''''''''''''''''''''''''''''''''''' 
      Dim A As String = "e:\web\Training.mdb" 
      Dim B As String = "e:\web\LeaveDB.mdb" 
      Dim C As String = "UsersDataTbl" 
      Dim D As String = "NewUsers" 

      CreateLinkedAccessTable(A,B,C,D) 
      End Sub    


      Sub CreateLinkedAccessTable(strDBLinkFrom As String, strDBLinkTo As String, strLinkTbl As String, strLinkTblAs As String) 

       Dim catDB As ADOX.Catalog 
       Dim tblLink As ADOX.Table 

       Set catDB = New ADOX.Catalog 
        ' Open a Catalog on the database in which to create the link. 
       catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
       "Data Source=" & strDBLinkFrom 

       Set tblLink = New ADOX.Table 
       With tblLink 
        ' Name the new Table and set its ParentCatalog property to the 
        ' open Catalog to allow access to the Properties collection. 
       .Name = strLinkTblAs 
       Set .ParentCatalog = catDB 

        ' Set the properties to create the link. 
       .Properties("Jet OLEDB:Create Link") = True 
       .Properties("Jet OLEDB:Link Datasource") = strDBLinkTo 
       .Properties("Jet OLEDB:Remote Table Name") = strLinkTbl 
       End With 

        ' Append the table to the Tables collection. 
       catDB.Tables.Append tblLink 

       Set catDB = Nothing 
      End Sub 
+0

Вот ссылка на пример кода, я использую: http://msdn.microsoft.com/en-us/library/office/aa164914(v=office.10).aspx – BarclayVision

+0

звучит так, будто вам не хватает ссылки или импорта. может быть самородок, похороненный здесь: http://allenbrowne.com/func-adox.html (вверху, он говорит о ref). Похоже, это COM-объект в моей системе. – Plutonix

+0

Да, я посмотрел на это, может 't найти dll включить, поскольку я делаю это на стороннем сервере – BarclayVision

ответ

1

Для того, чтобы использовать ADOX вам необходимо открыть свой проект ASP.NET и добавьте следующий COM ссылка:

Microsoft ADO Ext. 2.8 for DDL and Security

+0

Могу ли я подключиться к другой таблице DB доступа без ADOX.dll? Пример. Чтобы получить схему доступа Datatable, используйте метод OleDbConnection.GetOleDbSchemaTable через ADO.NET. можно ли обновлять связанные данные таблицы с помощью OLEDB, а не ADOX? – BarclayVision

+0

@BarclayVision Вам может и не понадобиться. Я отправлю ответ на другой вопрос. –

Смежные вопросы