Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than odbccp32, prefix the name with the module name and a period.
SQLInstallerError (odbccp32)
.
C# Signature:
[DllImport("odbccp32", CharSet=CharSet.Auto)]
public static extern SQL_RETURN_CODE SQLInstallerError(int iError, ref SQL_INSTALLER_ERROR_CODE pfErrorCode, StringBuilder lpszErrorMsg, int cbErrorMsgMax, ref int pcbErrorMsg);
public static extern SQL_RETURN_CODE SQLInstallerError(int iError, ref SQL_INSATLLER_ERROR_CODE pfErrorCode, StringBuilder lpszErrorMsg, int cbErrorMsgMax, ref int pcbErrorMsg);
VB Signature:
<DllImport("ODBCCP32.dll", CallingConvention:=CallingConvention.Winapi, CharSet:=CharSet.Auto, SetLastError:=True)> _
Public Shared Function SQLInstallerError(ByVal iError As Integer, ByRef pfErrorCode As Integer, ByVal lpszErrorMsg As StringBuilder, ByVal cbErrorMsgMax As Integer, ByRef pcbErrorMsg As Integer) As SQL_RETURN_CODE
End Function
Each time a new installer function is called the error queue is flushed. This means that you can only retrieve errors from the last installer function call, and not from ones before it.
SQLInstallerError does not post error values for itself. SQLInstallerError returns SQL_NO_DATA when it is unable to retrieve any error information (in which case pfErrorCode is undefined). If SQLInstallerError cannot access error values for any reason that would normally return SQL_ERROR, SQLInstallerError returns SQL_ERROR but does not post any error values. If either the lpszErrorMsg argument is NULL or the cbErrorMsgMax is less than or equal to 0, this function returns SQL_ERROR. If the buffer for the error message is too short, SQLInstallerError returns SQL_SUCCESS_WITH_INFO and returns the correct pfErrorCode value for SQLInstallerError.
Tips & Tricks:
Please add some!
Sample Code:
StringBuilder errorMesg = new StringBuilder( 512 ) ;
SQL_INSTALLER_ERROR_CODE errorCode = 0 ;
int resizeErrorMesg = 0 ;
StringBuilder errorMesg = new StringBuilder( 512 ) ;
int errorCode = 0 ;
int resizeErrorMesg = 0 ;
//
// Get the error message
//
SQL_RETURN_CODE retCode = SQLInstallerError(1, ref errorCode, errorMesg, errorMesg.Capacity, ref resizeErrorMesg );
VB.NET Sample Code
Dim errorMsg As New StringBuilder(512)
Dim errorCode As Integer = 0
Dim resizeErrorMesg As Integer = 0
' Get the error message
Dim retCode As SQL_RETURN_CODE = SQLInstallerError(1, errorCode, errorMsg, errorMsg.Capacity, resizeErrorMesg)
Alternative Managed API:
Do you know one? Please contribute it!
SQLInstallerError returns error or status information for the ODBC installer functions.
3/28/2016 8:16:23 AM - -76.79.46.10
SQLInstallerError returns error or status information for the ODBC installer functions.
3/28/2016 8:16:23 AM - -76.79.46.10
SQLInstallerError returns error or status information for the ODBC installer functions.
3/28/2016 8:16:23 AM - -76.79.46.10
SQLInstallerError returns error or status information for the ODBC installer functions.
3/28/2016 8:16:23 AM - -76.79.46.10
SQLInstallerError returns error or status information for the ODBC installer functions.
3/28/2016 8:16:23 AM - -76.79.46.10
SQLInstallerError returns error or status information for the ODBC installer functions.
3/28/2016 8:16:23 AM - -76.79.46.10
SQLInstallerError returns error or status information for the ODBC installer functions.
3/28/2016 8:16:23 AM - -76.79.46.10
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).