我想将数据库中的所有表导出到Excel文件。该过程应该是动态的,因为DB中的表可能会有所不同。
目前的流程使用SSIS如下:
CREATE TABLE
字符串。Execute Sql
任务中使用该字符串,这将创建一个Excel文件。INSERT INTO OPENROWSET... SELECT FROM ...
命令字符串。Execute Sql
任务中使用此字符串。问题是创建的excel文件列类型都是“常规”,即使我的脚本另有说法。
示例CREATE TABLE
脚本:
CREATE TABLE `CONTACT1`
(
[ACCOUNTNO] LongText,
[COMPANY] LongText,
[CREATEON] datetime,
[CREATEAT] LongText,
)
“玩”数据类型没有帮助。例如,使用VARCHAR(1000)
代替LongText
等
我已尝试生成xlsx
和xls
个文件。
此问题阻止我稍后使用*INSERT INTO OPENROWSET(...) SELECT FROM ...*
命令插入数据。示例INSERT INTO
脚本:
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=c:\\junk \\accountnoWithNoApps.xlsx;HDR=YES;IMEX=1\"',
'SELECT [accountno], [COMPANY], [CREATEON], [CREATEAT] FROM [CONTACT1$]')
SELECT [accountno], [COMPANY], [CREATEON], [CREATEAT] FROM CONTACT1
答案 0 :(得分:1)