1

アプリケーションを接続するための odbc の mySql および Oracle ドライバー。接続されたドライバーの詳細を取得する必要があります。(つまり) odbc で SQL データベースに接続している場合、mySql と Oracle の場合と同様に SQL であることを確認する方法。 これを使用すると、ドライバーの種類やドライバーの詳細ではなく、DSN 名のみを取得できます

 reg = reg.OpenSubKey("ODBC");
        if (reg != null)
        {
            reg = reg.OpenSubKey("ODBC.INI");
            if (reg != null)
            {
                reg = reg.OpenSubKey("ODBC Data Sources");
                if (reg != null)
                {
                    // Get all DSN entries defined in DSN_LOC_IN_REGISTRY.
                        foreach (string sName in reg.GetValueNames())
                        {Messagebox.Show(sName);
                        }
                }
            }
        }

:接続拡張DRIVERによって開かれた接続でdll名を取得できますが、ドライバーのdll名のみを提供しています.しかし、接続がSQLまたはMySQL od ORACLEであるかどうかにかかわらず、ドライバーの種類を識別する必要があります

4

2 に答える 2

0

DSN エントリ (または接続文字列) の 1 つを使用してデータベースへの接続を確立した場合は、SQLGetInfo() 関数を使用して、SQL_DRIVER_NAME などのドライバーまたはデータベースに関するさまざまな詳細を照会できます。

ただし、データベースへの接続を確立する必要があるため、これが本当に役立つかどうかはわかりません..

参照: https://msdn.microsoft.com/en-us/library/ms711681%28v=vs.85%29.aspx

SQLGetInfo()引数とともに使用してSQL_DBMS_NAME、データベース製品の名前を取得できます。これにより、 が指すバッファがSQLServer やMySQL などのInfoValuePtr値で満たされます。正確な値はドライバによって異なります。Microsoft SQL ServerMySQL

于 2015-05-06T13:02:08.367 に答える