@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: SQLInstallerError returns error or status information for the ODBC installer functions. !!!!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); !!!!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 !!!!C# User-Defined Types: public enum SQL_RETURN_CODE : short { SQL_ERROR = -1, SQL_INVALID_HANDLE = -2, SQL_SUCCESS = 0, SQL_SUCCESS_WITH_INFO = 1, SQL_STILL_EXECUTING = 2, SQL_NEED_DATA = 99, SQL_NO_DATA = 100 } public enum SQL_INSTALLER_ERROR_CODE : uint { ODBC_ERROR_GENERAL_ERR = 1, ODBC_ERROR_INVALID_BUFF_LEN = 2, ODBC_ERROR_INVALID_HWND = 3, ODBC_ERROR_INVALID_STR = 4, ODBC_ERROR_INVALID_REQUEST_TYPE = 5, ODBC_ERROR_COMPONENT_NOT_FOUND = 6, ODBC_ERROR_INVALID_NAME = 7, ODBC_ERROR_INVALID_KEYWORD_VALUE = 8, ODBC_ERROR_INVALID_DSN = 9, ODBC_ERROR_INVALID_INF = 10, ODBC_ERROR_REQUEST_FAILED = 11, ODBC_ERROR_INVALID_PATH = 12, ODBC_ERROR_LOAD_LIB_FAILED = 13, ODBC_ERROR_INVALID_PARAM_SEQUENCE = 14, ODBC_ERROR_INVALID_LOG_FILE = 15, ODBC_ERROR_USER_CANCELED = 16, ODBC_ERROR_USAGE_UPDATE_FAILED = 17, ODBC_ERROR_CREATE_DSN_FAILED = 18, ODBC_ERROR_WRITING_SYSINFO_FAILED = 19, ODBC_ERROR_REMOVE_DSN_FAILED = 20, ODBC_ERROR_OUT_OF_MEM = 21, ODBC_ERROR_OUTPUT_STRING_TRUNCATED = 22, ODBC_ERROR_NOTRANINFO = 23 } !!!!VB.NET User-Defined Types: Enum RequestFlags As Integer ODBC_ADD_DSN = 1 ODBC_CONFIG_DSN = 2 ODBC_REMOVE_DSN = 3 ODBC_ADD_SYS_DSN = 4 ODBC_CONFIG_SYS_DSN = 5 ODBC_REMOVE_SYS_DSN = 6 ODBC_REMOVE_DEFAULT_DSN = 7 End Enum More: http://msdn2.microsoft.com/en-us/library/ms715450(VS.85).aspx !!!!Notes: 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 ; // // 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! Documentation: SQLInstallerError@msdn on MSDN
Edit odbccp32.SQLInsta...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.