Como posso configurar um DSN para direcionar para um local específico, mas depois permitir que eu selecione o arquivo em vez de gravar em um arquivo específico.
[ODBC]
DRIVER=Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
ReadOnly=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=excel 12.0
DriverId=1046
DefaultDir=Drive:\exportdirectory
DBQ=Drive:\exportdirectory\file.xlsx
O abaixo irá gravar em \ exportdirectory \ file.xlsx
Se eu usar qualquer um dos seguintes
DefaultDir=Drive:\exportdirectory\*xls*
(no DBQ)
DefaultDir=Drive:\exportdirectory\*
(no DBQ)
DefaultDir=Drive:\exportdirectory
DBQ=Drive:\exportdirectory\*xls*
DefaultDir=Drive:\exportdirectory
DBQ=Drive:\exportdirectory\*
DefaultDir=Drive:\exportdirectory
DBQ=*.xls*
Eu obtenho o comportamento desejado, mas é um pouco um hack: depois de uma mensagem de erro (tentar gravar no arquivo " .xls e falhar"), aparece "selecione pasta de trabalho" no defaultdir.
Omitir DBQ apenas grava no arquivo ".xls" no diretório padrão, assim como DBQ = *
Tags windows odbc export microsoft-excel dsn