Aracılığıyla paylaş


Ağ Geçitleri Tanılama Örneği

Bir ağ geçidi mimarisinde, sürücü ODBC'yi destekleyen bir ağ geçidine istek gönderir. Ağ geçidi, istekleri bir DBMS'ye gönderir. Sürücü Yöneticisi ile etkileşim kuran bileşen olduğundan, sürücü SQLGetDiagRec için bağımsız değişkenleri biçimlendirir ve döndürür.

Örneğin Oracle, Microsoft Open Data Services'ta Rdb'ye bir ağ geçidini temel aldıysa ve Rdb EMPLOYEE tablosunu bulamadıysa ağ geçidi şu tanılama iletisini oluşturabilir:

"[42S02][-1][DEC][ODS Gateway][Rdb]%SQL-F-RELNOTDEF, Table EMPLOYEE is not defined "  
   "in schema."  

Hata veri kaynağında oluştuğundan, ağ geçidi tanılama iletisine veri kaynağı tanımlayıcısı ([Rdb]) için bir ön ek ekledi. Ağ geçidi, veri kaynağıyla arabirim kuran bileşen olduğundan, teşhis mesajına satıcısı ([DEC]) ve tanımlayıcısı ([ODS Ağ Geçidi]) için ön ek ekledi. Ayrıca tanılama iletisinin başına SQLSTATE değerini ve Rdb hata kodunu ekledi. Bu, kendi ileti yapısının semantiğini korumasına ve sürücüye ODBC tanılama bilgilerini sağlamasına izin verdi. Sürücü, ağ geçidi tarafından hata deyimine eklenen hata bilgilerini ayrıştırıyor.

Ağ geçidi sürücüsü Sürücü Yöneticisi ile arabirim oluşturan bileşen olduğundan, SQLGetDiagRec'ten aşağıdaki değerleri biçimlendirmek ve döndürmek için önceki tanılama iletisini kullanır:

SQLSTATE:         "42S02"  
Native Error:      -1  
Diagnostic Msg:   "[DEC][ODS Gateway][Rdb]%SQL-F-RELNOTDEF, Table EMPLOYEE is not "  
                  "defined in schema."