Мне нужно заменить функцию VB6, которая позволяет экспортировать таблицу SQL Server в файл xls с помощью DAO.Экспорт таблицы SQL Server в файл Microsoft Excel xlsx
Чтобы использовать Excel 2007-2010 ... файлы (xlsx), я попытался использовать эту функцию для этого, но это не сработает.
Вот DAO functionnality:
//Opening the SQLServer database with DAO
Set oBase= DBEngine.OpenDatabase(DSNName, dbDriverNoPrompt, False, "ODBC,PROVIDER=Microsoft.JET.OLEDB.3.51;DSN=DSNName;UID=user;PWD=pwd;DATABASE=SQLServerBDDName;Server=SQLServerName;")
//Query to export data
oBase.Execute("SELECT * INTO [SheetName] IN 'xlsFileName' 'Microsoft Excel 8.0;' FROM [SQLServerTableName]")
Эта функция отлично работает с файлами Excel 97-2003 в XLS, но не с XLSX файлов.
Есть ли возможность сделать то же самое с ADO, но без инструкций OPENROWSET или хранимых процедур?
Спасибо за вашу помощь
Что происходит? – Rob
Если я изменил Excel 8.0 на Excel 12.0 и поставщика (Microsoft.ACE.OLEDB.12.0), у меня есть ошибка (драйверы ISAM не найдены). Я уже установил драйвер доступа 12 для другого программного обеспечения – user1069516
https://support.microsoft.com/en-us/kb/247412 предоставляет множество способов сделать то, что вы хотите. Однако DAO не является одним из них. DAO был старым в 1995 году, когда вышел ADO. Возможно, вам придется перейти на ADO для поддержки Excel 12.0. Если это так, это не слишком сложно, и в ссылке есть пример. Для строк подключения ADO посетите сайт www.connectionstrings.com. – BobRodes