Udostępnij za pośrednictwem


Jak Przydzielić dojścia i połącz z programem SQL Server (ODBC)

Aby przydzielić dojścia i połączyćSQL Server

  1. Uwzględnić ODBC nagłówek pliki Sql.h, Sqlext.h, Sqltypes.h.

  2. Dołącz SQL Server pliku nagłówka specyficzne dla sterownika Odbcss.h.

  3. Wywołanie SQLAllocHandle z HandleType z operacji SQL_HANDLE_ENV do inicjowania ODBC i przydzielić dojścia środowiska.

  4. Wywołanie SQLzestawEnvAttr z Attribute zestaw do SQL_ATTR_ODBC_VERSION i ValuePtr zestaw do SQL_OV_ODBC3, aby wskazać, aplikacja będzie używać ODBC 3.x format funkcja wywołania.

  5. Opcjonalnie można wywołać SQLzestawEnvAttr do zestaw innych opcji środowiska lub wywołanie SQLGetEnvAttr uzyskać opcji środowiska.

  6. Wywołanie SQLAllocHandle z HandleType z operacji SQL_HANDLE_DBC przydzielić dojścia połączenia.

  7. Opcjonalnie można wywołać Procedura SQLSetConnectAttr zestaw opcji połączenia lub wywołanie SQLGetConnectAttr uzyskać opcje połączenia.

  8. Wywołanie SQLConnect do korzystania z istniejącego źródło danych, aby połączyć się z SQL Server.

    Or

    Wywołanie SQLDriverConnectdo użycia połączenia ciąg się z SQL Server.

    Minimum pełną SQL Server połączenia ciąg ma jednej z dwóch postaci:

    DSN=dsn_name;Trusted_connection=yes;
    DRIVER={SQL Server Native Client 10.0};SERVER=server;Trusted_connection=yes;
    

    Jeśli połączenie ciąg nie została zakończona, SQLDriverConnect może monitować o wymaganych informacji.To jest kontrolowane przez wartość określona dla DriverCompletion parametru.

    - lub -

    Wywołanie procedura SQLBrowseConnect wiele razy w sposób iteracyjną do utworzenia połączenia ciąg i połącz się z SQL Server.

  9. Opcjonalnie można wywołać SQLGetInfo uzyskać sterownik atrybuty i zachowanie SQL Server źródło danych.

  10. Przydzielanie i użyć instrukcji.

  11. Wywołanie SQLDisconnect Aby rozłączyć się z SQL Server i połączenie obsługi dostępne dla nowego połączenia.

  12. Wywołanie SQLFreeHandle z HandleType z operacji SQL_HANDLE_DBC, aby zwolnić dojścia połączenia.

  13. Wywołanie SQLFreeHandle z HandleType z operacji SQL_HANDLE_ENV, aby zwolnić dojścia środowiska.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, Monituj użytkownikom wprowadzanie poświadczeń przy uruchomieniu czas.Unikaj przechowywania poświadczenia w pliku.Jeśli poświadczenia muszą zostać zachowane, należy zaszyfrować je z Win32 crypto API.

Przykład

W tym przykładzie wywołanie SQLDriverConnect połączyć się z wystąpienie SQL Server bez konieczności istniejących danych ODBC źródło.Przekazując niekompletne połączenia ciąg do SQLDriverConnect, powoduje sterownika ODBC monitował użytkownika o wprowadzenie brakujących informacji.

#define MAXBUFLEN   255

SQLHENV      henv = SQL_NULL_HENV;
SQLHDBC      hdbc1 = SQL_NULL_HDBC;
SQLHSTMT      hstmt1 = SQL_NULL_HSTMT;

SQLCHAR      ConnStrIn[MAXBUFLEN] =
         "DRIVER={SQL Server Native Client 10.0};SERVER=MyServer";

SQLCHAR      ConnStrOut[MAXBUFLEN];
SQLSMALLINT   cbConnStrOut = 0;

// Make connection without data source. Ask that driver 
// prompt if insufficient information. Driver returns
// SQL_ERROR and application prompts user
// for missing information. Window handle not needed for
// SQL_DRIVER_NOPROMPT.
retcode = SQLDriverConnect(hdbc1,      // Connection handle
                  NULL,         // Window handle
                  ConnStrIn,      // Input connect string
                  SQL_NTS,         // Null-terminated string
                  ConnStrOut,      // Address of output buffer
                  MAXBUFLEN,      // Size of output buffer
                  &cbConnStrOut,   // Address of output length
                  SQL_DRIVER_PROMPT);