Aracılığıyla paylaş


(odbc) veri kaynağına bağlanma

Çevre ve bağlantı tanıtıcısı tahsis ve herhangi bir bağlantı öznitelikleri ayarladıktan sonra uygulama veri kaynağı veya sürücü bağlanır. Bağlanmak için kullanabileceğiniz üç işlevi vardır:

  • SQLConnect

  • SQLDriverConnect

  • SQLBrowseConnect

Çeşitli bağlantı dize seçenekleri kullanılabilir, dahil olmak üzere bir veri kaynağına bağlantı kurma hakkında daha fazla bilgi için bkz: SQL Server ile yerel istemci bağlantı dizesi anahtar sözcükler kullanma.

SQLConnect

SQLConnect basit bağlantı işlevidir. Üç parametre kabul eder: bir veri kaynağı adı, kullanıcı kimliği ve parola. Kullanım SQLConnect ne zaman bu üç parametre veritabanına bağlanmak için gereken tüm bilgileri içerir. Bunu yapmak için kullanan veri kaynaklarının bir listesini oluşturmak SQLDataSources; kullanıcı veri kaynağı, kullanıcı kimliği ve parola sor; ve sonra SQLConnect.

SQLConnect varsayar bir veri kaynağına bağlanmak için yeterli bir veri kaynağı adı, kullanıcı kimliği ve parola ve odbc veri kaynağı tüm diğer bilgileri odbc sürücüsünü içeren bağlantı yapmak gerekiyor. Aksine SQLDriverConnect ve SQLBrowseConnect, SQLConnect bir bağlantı dizesi kullanmaz.

SQLDriverConnect

SQLDriverConnect veri kaynağı adı, kullanıcı kimliği ve parola daha çok bilgi gerekli olduğunda kullanılır. Parametrelerden biri için SQLDriverConnect sürücüye özgü bilgileri içeren bir bağlantı dizesi. Kullanacağınız SQLDriverConnect yerine SQLConnect aşağıdaki nedenlerle:

  • Bağlantı sırasında sürücüye özgü bilgileri belirtmek için.

  • Sürücü için bağlantı bilgilerini kullanıcıdan istemek için.

  • odbc veri kaynağı kullanmadan bağlanmak için.

SQLDriverConnect bağlantı dizesini içeren bir dizi, bir odbc sürücüsü tarafından desteklenen tüm bağlantı bilgilerini belirtmek anahtar-değer çiftleri. Her sürücü için sürücü tarafından desteklenen tüm bağlantı bilgilerini sürücüye özel anahtar sözcükler ek olarak standart odbc anahtar kelimeler (dsn, FILEDSN, sürücü, UID, pwd ve SAVEFILE) destekler. SQLDriverConnect bir veri kaynağına bağlanmak için kullanılabilir. Örneğin, bir uygulama yapmak üzere tasarlanmış bir "dsn-daha küçük" bağlantı örneği SQL Serverarayabilirsiniz SQLDriverConnect ile tanımlayan oturum açma kimliği, parola, ağ kitaplığı, sunucu adı bağlanmak ve Veritabanı Varsayılanı kullanmak için bağlantı dizesi.

Kullanırken SQLDriverConnect, herhangi bir bağlantı bilgilerini gerektiği için kullanıcıya iki seçenek vardır:

  • Uygulama iletişim kutusu

    Sen-ebilmek yaratmak için bağlantı bilgilerini sorar ve sonra çağırır bir uygulama iletişim kutusu SQLDriverConnect null pencere kulplu ve DriverCompletion SQL_DRIVER_NOPROMPT için ayarlayın. Bu parametre ayarları, odbc sürücüsü kendi iletişim kutusunu açmasını engeller. Uygulamanın kullanıcı arabirimini denetlemek önemli olduğunda bu yöntem kullanılır.

  • Sürücü iletişim kutusu

    Geçerli pencerenin tanıtıcı geçmek için uygulama kodu SQLDriverConnect ve DriverCompletion SQL_DRIVER_COMPLETE, SQL_DRIVER_PROMPT veya SQL_DRIVER_COMPLETE_REQUIRED parametresi. Sürücü, daha sonra bağlantı bilgilerini kullanıcıdan istemek üzere bir iletişim kutusu oluşturur. Bu yöntem, uygulama kodu basitleştirir.

SQLBrowseConnect

SQLBrowseConnect, gibi SQLDriverConnect, bir bağlantı dizesini kullanır. Ancak kullanarak SQLBrowseConnect, uygulamanın zamanında eksiksiz bağlantı dizesi yinelenen veri kaynağıyla hazırlayabilirsiniz. Bu iki şey yapmak için uygulama sağlar:

  • Böylece kullanıcı arabirimi kontrolünü koruyarak, bu bilgiler isteyecek şekilde kendi iletişim kutuları oluşturun.

  • Belki birkaç adımda belirli bir sürücü tarafından kullanılan veri kaynaklarını sistem gözatın.

    Örneğin, kullanıcı ilk ağ sunucuları için Gözat ve, sunucu için veritabanı sürücüsü tarafından erişilebilir bir sunucu seçtikten sonra göz atın.

Ne zaman SQLBrowseConnect başarılı bir bağlantı tamamlandıktan sonraki aramalar için kullanılabilir bir bağlantı dizesi döndüren SQLDriverConnect.

SQL ServerYerel istemci odbc sürücüsü her zaman başarılı bir Tarih SQL_SUCCESS_WITH_INFO döndürür SQLConnect, SQLDriverConnect, veya SQLBrowseConnect. Bir odbc uygulaması çağırdığında SQLGetDiagRec SQL_SUCCESS_WITH_INFO alma sonra bunu aşağıdaki iletileri alabilirsiniz:

  • 5701
    Gösteren SQL Serververi kaynağında tanımlanan varsayılan veritabanı kullanıcı bağlamı koymak veya varsayılan veritabanı bağlantı veri kaynağı yoktu, kullanılan oturum açma Kımlığı için varsayılan veritabanı tanımlanan.

  • 5703
    Sunucuda kullanılan dili gösterir.

Aşağıdaki örnek, başarılı bir bağlantı üzerinde sistem yöneticisi tarafından döndürülen ileti gösterir:

szSqlState = "01000", *pfNativeError = 5701,
szErrorMsg="[Microsoft][SQL Server Native Client][SQL Server]
       Changed database context to 'pubs'."
szSqlState = "01000", *pfNativeError = 5703,
szErrorMsg="[Microsoft][SQL Server Native Client][SQL Server]
       Changed language setting to 'us_english'."

szSqlState = "01000", *pfNativeError = 5701,
szErrorMsg="[Microsoft][SQL Server Native Client][SQL Server]
       Changed database context to 'pubs'."
szSqlState = "01000", *pfNativeError = 5703,
szErrorMsg="[Microsoft][SQL Server Native Client][SQL Server]
       Changed language setting to 'us_english'."

İletileri 5701 ve 5703 sayabilirsiniz; onlar yalnızca bilgilendirme. Çünkü 5701 veya 5703 dışındaki iletileri döndürülebilir, ancak SQL_SUCCESS_WITH_INFO dönüş kodu sayılmalıdır değil. Örneğin, bir sürücü örneğini çalıştıran bir sunucuya bağlanırsa SQL Servereski kataloğu ile saklı yordamları, aracılığıyla döndürülen hatalardan biri SQLGetDiagRec sonra bir SQL_SUCCESS_WITH_INFO:

SqlState:   01000
pfNative:   0
szErrorMsg: "[Microsoft][SQL Server Native Client]The ODBC
            catalog stored procedures installed on server
            my65server are version 06.50.0193; version 07.00.0205
            or later is required to ensure proper operation.
            Please contact your system administrator."

SqlState:   01000
pfNative:   0
szErrorMsg: "[Microsoft][SQL Server Native Client]The ODBC
            catalog stored procedures installed on server
            my65server are version 06.50.0193; version 07.00.0205
            or later is required to ensure proper operation.
            Please contact your system administrator."

Hata fonksiyonu için bir uygulama SQL Serverbağlantıları çağırmalıdır SQLGetDiagRec sql_no_data dönene kadar. Sonra olanlar dışındaki tüm iletilerde hareket etmelidir bir pfNative 5701 veya 5703 kodu.

Ayrıca bkz.

Kavramlar

SQL Server (odbc) ile iletişim