如何使用 OpenRowSet 将数据插入空白文件?
我需要从数据库中插入一个txt文件(比如D:\ TDB)一些选择输出(比如select * from sys.tables
)
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Text;Database=D:\TDB;HDR=Yes;', 'SELECT * FROM sys.tables.txt')
select * from sys.tables;
我得到了
OLE DB提供程序“MICROSOFT.JET.OLEDB.4.0”用于链接服务器“(null)” 返回消息“Microsoft Jet数据库引擎找不到 对象'sys.tables.txt'。确保对象存在并拼写它 名称和路径名称正确。“。
Msg 7350,Level 16,State 2,Line
1无法从OLE DB提供程序获取列信息 “MICROSOFT.JET.OLEDB.4.0”用于链接服务器“(null)”。
有什么问题?
PS。请不要提出 bcp 解决方案,因为已经过测试并且每次都不起作用,所以我现在要测试 openrowset ..
答案 0 :(得分:0)
@serhio,我在下面测试了你的sql:
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Text;Database=D:\TDB;HDR=Yes;', 'SELECT * FROM sys.tables.txt')
select * from sys.tables;
我得到了一些测试结果
<强> SQL 强>
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Text;Database=D:\TDB;', 'SELECT * FROM systables.txt')
select * from sys.tables;
<强> systables.txt 强>
name,object_id,principal_id,schema_id,parent_object_id,type,type_desc,create_date,modify_date,is_ms_shipped,is_published,is_schema_published,lob_data_space_id,filestream_data_space_id,max_column_id_used,lock_on_bulk_load,uses_ansi_nulls,is_replicated,has_replication_filter,is_merge_published,is_sync_tran_subscribed,has_unchecked_assembly_data,text_in_row_limit,large_value_types_out_of_row,is_tracked_by_cdc,lock_escalation,lock_escalation_desc