Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Sposób tworzenia połączenia pozbawionego nazwy DSN na serwerze SQL dla tabel połączonych w programie Access

Zakończono świadczenie pomocy technicznej dla pakietu Office 2003

Firma Microsoft zakończyła świadczenie pomocy technicznej dla pakietu Office 2003 8 kwietnia 2014. Ta zmiana wpłynęła na Twoje aktualizacje oprogramowania i opcje zabezpieczeń. Dowiedz się, co to oznacza dla Ciebie i jak zapewnić sobie kontynuację ochrony.

WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.

892490
Zaawansowane: Wymaga kodowania ekspertów współdziałanie i umiejętności wielu użytkowników.

Ten artykuł dotyczy wyłącznie Bazy danych programu Microsoft Access (accdb i mdb).
WPROWADZENIE
W tym artykule opisano sposób tworzenia połączenia Microsoft SQL Server dla tabel połączonych w programie Microsoft Access, które nie są używane Nazwa źródła danych (DSN). Jest to znany także jako Mniej DSN połączenie. Przykłady, które zawiera niniejszy artykuł stosuje się do Program Microsoft Office Access 2007, Microsoft Office Access 2003 i programu Microsoft Access 2002.
Więcej informacji
Można utworzyć tabele połączone SQL Server w DSN Program Microsoft Access. Jednak po przeniesieniu bazy danych do innego komputera, należy ponownie utworzyć nazwy DSN na tym komputerze. Ta procedura może być problematyczne, kiedy użytkownik ma wykonywać na więcej niż jednym komputerze. Gdy procedura ta nie jest wykonane poprawnie, tabele połączone nie można zlokalizować nazwy DSN. Dlatego też tabel połączonych nie można połączyć się z serwerem SQL Serwer.

Jeśli chcesz utworzyć łącze do tabeli programu SQL Server, ale nie ma być kodowane nazwy DSN Źródła danych okno dialogowe do utworzenia połączenia pozbawionego nazwy DSN na serwerze SQL, należy użyć jednej z następujących metod.

Metoda 1: Metoda CreateTableDef

W CreateTableDef Metoda pozwala na utworzenie tabeli połączonej. Aby użyć tej metody, tworzenie nowy moduł i Dodaj następujący AttachDSNLessTable Funkcja nowy moduł.
'//Name     :   AttachDSNLessTable'//Purpose  :   Create a linked table to SQL Server without using a DSN'//Parameters'//     stLocalTableName: Name of the table that you are creating in the current database'//     stRemoteTableName: Name of the table that you are linking to on the SQL Server database'//     stServer: Name of the SQL Server that you are linking to'//     stDatabase: Name of the SQL Server database that you are linking to'//     stUsername: Name of the SQL Server user who can connect to SQL Server, leave blank to use a Trusted Connection'//     stPassword: SQL Server user passwordFunction AttachDSNLessTable(stLocalTableName As String, stRemoteTableName As String, stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String)    On Error GoTo AttachDSNLessTable_Err    Dim td As TableDef    Dim stConnect As String        For Each td In CurrentDb.TableDefs        If td.Name = stLocalTableName Then            CurrentDb.TableDefs.Delete stLocalTableName        End If    Next          If Len(stUsername) = 0 Then        '//Use trusted authentication if stUsername is not supplied.        stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes"    Else        '//WARNING: This will save the username and the password with the linked table information.        stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUsername & ";PWD=" & stPassword    End If    Set td = CurrentDb.CreateTableDef(stLocalTableName, dbAttachSavePWD, stRemoteTableName, stConnect)    CurrentDb.TableDefs.Append td    AttachDSNLessTable = True    Exit FunctionAttachDSNLessTable_Err:        AttachDSNLessTable = False    MsgBox "AttachDSNLessTable encountered an unexpected error: " & Err.DescriptionEnd Function
Wywołanie AttachDSNLessTable działały, Dodaj kod, który jest podobny do następującego kodu Przykłady w AutoExec Makro lub formularz startowy Form_Open zdarzenie:
  • Kiedy używać AutoExec makra, wywołanie AttachDSNLessTable działać, a następnie przekazać parametry, które są podobne do następujące z akcji UruchomKod.
        AttachDSNLessTable ("authors", "authors", "(local)", "pubs", "", "")
  • Gdy formularz startowy dodać kod podobny do następujące polecenie, aby Form_Open zdarzenie.
    Private Sub Form_Open(Cancel As Integer)    If AttachDSNLessTable("authors", "authors", "(local)", "pubs", "", "") Then        '// All is okay.    Else        '// Not okay.    End IfEnd Sub
    Uwaga Logiki programowania należy dostosować, dodając więcej niż jeden Tabela połączona z bazą danych programu Access.

Metoda 2: Należy używać obiektów DAO.Metoda RegisterDatabase

W DAO.RegisterDatabase Metoda pozwala na utworzenie połączenia DSN w AutoExec Makro lub formularz startowy. Chociaż metoda ta nie usunąć wymóg połączenia DSN, pomagają rozwiązać problem Tworząc połączenia DSN w kodzie. Aby użyć tej metody, Utwórz nowy Moduł, a następnie dodaj następujące CreateDSNConnection Funkcja nowy moduł.
'//Name     :   CreateDSNConnection'//Purpose  :   Create a DSN to link tables to SQL Server'//Parameters'//     stServer: Name of SQL Server that you are linking to'//     stDatabase: Name of the SQL Server database that you are linking to'//     stUsername: Name of the SQL Server user who can connect to SQL Server, leave blank to use a Trusted Connection'//     stPassword: SQL Server user passwordFunction CreateDSNConnection(stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String) As Boolean    On Error GoTo CreateDSNConnection_Err    Dim stConnect As String        If Len(stUsername) = 0 Then        '//Use trusted authentication if stUsername is not supplied.        stConnect = "Description=myDSN" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr & "Trusted_Connection=Yes"    Else        stConnect = "Description=myDSN" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr     End If        DBEngine.RegisterDatabase "myDSN", "SQL Server", True, stConnect            '// Add error checking.    CreateDSNConnection = True    Exit FunctionCreateDSNConnection_Err:        CreateDSNConnection = False    MsgBox "CreateDSNConnection encountered an unexpected error: " & Err.Description    End Function
Uwaga Jeśli RegisterDatabase ponownie wywoływana jest metoda, zaktualizowane DSN.

Wywołanie CreateDSNConnection działały, Dodaj kod, który jest podobny do następującego kodu Przykłady w AutoExec Makro lub formularz startowy Form_Open zdarzenie:
  • Kiedy używać AutoExec makra, wywołanie CreateDSNConnection działać, a następnie przekazać parametry, które są podobne do następujące z akcji UruchomKod.
        CreateDSNConnection ("(local)", "pubs", "", "")
  • Gdy formularz startowy dodać kod podobny do następujące polecenie, aby Form_Open zdarzenie.
    Private Sub Form_Open(Cancel As Integer)    If CreateDSNConnection("(local)", "pubs", "", "") Then        '// All is okay.    Else        '// Not okay.    End IfEnd Sub
Uwaga Metoda ta zakłada utworzone na serwerze SQL tabele połączone w bazie danych programu Access przy użyciu "myDSN" jako nazwy DSN Nazwa.
Acc2002 ACC2003 Jet ODBC SQL Server VB VBA

Ostrzeżenie: ten artykuł został przetłumaczony automatycznie

Właściwości

Identyfikator artykułu: 892490 — ostatni przegląd: 06/24/2011 17:21:00 — zmiana: 2.0

  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • kbprogramming kbconfig kbdatabase kbhowto kbinfo kbmt KB892490 KbMtpl
Opinia