怎麽沒有人理我呢? 我用以下方法試了一下: exec master..xp_cmdshell 'dir E:\LA\Test.xls /b >tmp.txt'create table CsvTest(path varchar(100)) insert CsvTest select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=E:\LA\;','select * from Test.xls') 報錯: 伺服器: 訊息 7399,層級 16,狀態 1,行 2 OLE DB Provider 'MSDASQL' 報告了錯誤。 [OLE/DB provider returned message: [Microsoft][ODBC Text Driver] 無法更新。資料庫或物件是唯讀的。] OLE DB 錯誤追蹤 [OLE/DB Provider 'MSDASQL' IColumnsInfo::GetColumnsInfo returned 0x80004005: ]。 請問怎麽解決哦!!!
先用这个查出来记录 select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=E:\LA\;','select * from Test.xls') 再将记录中的列数与你创建的表CsvTest对照一下
to chuifengde(树上的鸟儿): 謝謝你的熱心,但是我用: select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=E:\LA\;','select * from Test.xls') 還是報錯: 伺服器: 訊息 7399,層級 16,狀態 1,行 1 OLE DB Provider 'MSDASQL' 報告了錯誤。 [OLE/DB provider returned message: [Microsoft][ODBC Text Driver] 無法更新。資料庫或物件是唯讀的。] OLE DB 錯誤追蹤 [OLE/DB Provider 'MSDASQL' IColumnsInfo::GetColumnsInfo returned 0x80004005: ]。
但是我看到在master數據庫CsvTest已經存在
当你用这个语句的时候,不能打开这个目录下的Test.xls文件,如果打开了要先关掉
恩,我関掉了也是不行,我用excel文件也不行。 create table CsvTest(path varchar(100)) insert CsvTest select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.xls)}; DefaultDir=E:\LA\;','select * from Test.xls') 報錯不一樣哦: 伺服器: 訊息 7399,層級 16,狀態 1,行 1 OLE DB Provider 'MSDASQL' 報告了錯誤。 [OLE/DB provider returned message: [Microsoft][ODBC 驅動程式管理員] 找不到資料來源名稱且未指定預設的驅動程式] OLE DB 錯誤追蹤 [OLE/DB Provider 'MSDASQL' IDBInitialize::Initialize returned 0x80004005: ]。
你的是excel不是txt或者csv啊,excel这样 select * from openrowset('microsoft.jet.oledb.4.0','excel 8.0;database=E:\LA\test.xls',sheet1$)
DefaultDir=d:\;','select * from sql_end.csv')
'Data Source="D:\RadioConfigurationData-1-LAN1-10-RNC10-20070118.xls";
User ID=Admin;Password=;Extended properties=Excel 8.0')...UE_Inter_frequence_Measurement$ 解释:'Microsoft.Jet.OLEDB.4.0'是ODBC驱动的版本'Data Source="D:\RadioConfigurationData-1-LAN1-10-RNC10-20070118.xls':设置外部数据源Extended properties=Excel 8.0':Excle的版本号UE_Inter_frequence_Measurement:sheet的名字,必须是英文,之前的三个点和之后的美元符号都必须要查询到的数据可以直接插入到表中
http://community.csdn.net/Expert/topic/5489/5489962.xml?temp=.5580866
我用以下方法試了一下:
exec master..xp_cmdshell 'dir E:\LA\Test.xls /b >tmp.txt'create table CsvTest(path varchar(100))
insert CsvTest
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=E:\LA\;','select * from Test.xls')
報錯:
伺服器: 訊息 7399,層級 16,狀態 1,行 2
OLE DB Provider 'MSDASQL' 報告了錯誤。
[OLE/DB provider returned message: [Microsoft][ODBC Text Driver] 無法更新。資料庫或物件是唯讀的。]
OLE DB 錯誤追蹤 [OLE/DB Provider 'MSDASQL' IColumnsInfo::GetColumnsInfo returned 0x80004005: ]。
請問怎麽解決哦!!!
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=E:\LA\;','select * from Test.xls')
再将记录中的列数与你创建的表CsvTest对照一下
謝謝你的熱心,但是我用:
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=E:\LA\;','select * from Test.xls')
還是報錯:
伺服器: 訊息 7399,層級 16,狀態 1,行 1
OLE DB Provider 'MSDASQL' 報告了錯誤。
[OLE/DB provider returned message: [Microsoft][ODBC Text Driver] 無法更新。資料庫或物件是唯讀的。]
OLE DB 錯誤追蹤 [OLE/DB Provider 'MSDASQL' IColumnsInfo::GetColumnsInfo returned 0x80004005: ]。
create table CsvTest(path varchar(100))
insert CsvTest
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.xls)};
DefaultDir=E:\LA\;','select * from Test.xls')
報錯不一樣哦:
伺服器: 訊息 7399,層級 16,狀態 1,行 1
OLE DB Provider 'MSDASQL' 報告了錯誤。
[OLE/DB provider returned message: [Microsoft][ODBC 驅動程式管理員] 找不到資料來源名稱且未指定預設的驅動程式]
OLE DB 錯誤追蹤 [OLE/DB Provider 'MSDASQL' IDBInitialize::Initialize returned 0x80004005: ]。
select * from openrowset('microsoft.jet.oledb.4.0','excel 8.0;database=E:\LA\test.xls',sheet1$)
伺服器: 訊息 213,層級 16,狀態 5,行 3
插入錯誤: 資料行名稱或提供的數值數量與資料表定義不相符。