Я пытаюсь изменить книгу по умолчанию, используемую моим Excel DSN, используя следующий код:
std::string DSNConfig;
DSNConfig = "DSN=Excel Files";
DSNConfig += '\0';
DSNConfig += "DBQ=";
DSNConfig += outputFile;
DSNConfig += '\0';
DSNConfig += '\0';
if (!::SQLConfigDataSource(NULL, ODBC_CONFIG_DSN, "Excel", DSNConfig.c_str())) {
WORD iError, cbErrorMsg;
DWORD fErrorCode;
char ErrorMsg[1000];
iError = 1;
SQLInstallerError(iError, &fErrorCode, ErrorMsg, sizeof(ErrorMsg), &cbErrorMsg);
throw WplException(Message(ErrorMsg));
}
Каждый раз, когда я получаю сообщение об ошибке «Компонент не найден в реестре», но пользовательский DSN существует, я вижу его в диспетчере DSN.
Я явно что-то упускаю, кто-нибудь может увидеть что?