文本内容如下:Page 1/6
------------------------------------------------------------------------------------------------------------------------------- 程序名 = 4RL026B2.E51
最后更新日期 = 2006/08/28 12:10
基板ID = < 生产管理信息 > 生产基板数量 = 517
生产数量(电路) = 517 开始生产时刻 = 2006/08/28 08:07:55
结束生产时刻 = 2006/08/28 19:57:46
。//以下为需导入的文本: 总吸 元件 吸取 元件 激光 异类 芯片 吸取
供应 通道 元件名 取数 吸取数 贴片数 丢失 错误 无 重试 识别 元件 站立 偏差 其它
LF- 1 * 1005/1/16W-330R 1034 1034 1034 0 0 0 0 0 0 0 *** 0
LF- 3 * 1005/1/16W-470R 1035 1034 1034 1 1 0 0 0 0 0 *** 0
LF- 5 * CC1005/50V-3PF- 1034 1034 1034 0 0 0 0 0 0 0 *** 0
0 *** 0 在SQL查询分析器中用以下语句可执行,在VC中不知如何写?
在查询分析器中可用的二种方法,语句分别如下:
(1):方法一:
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=f:\;','select * from 4321.txt')
(2):方法二:EXEC master..xp_cmdshell 'bcp "test..make" in f:\db\1234.txt -c -S"SHAREPOINT" -U"sa" -P"123456"'问题一:这二种方法如何在查询分析器中利用INSERT INTO 语句去插入到数据库(第一种方法我原来曾经用INSERT INTO 语句可插入数据库,后来没保存,忘了)?问题二:如何在VC6.0+ADO编程中正确插入这些语句(上面提到的那二种方法)?我已经写了个ADOConn类:在下面的代码中插入SQL语句,提示出错(别的简单的SQL语句在以下代码中可以执行的):ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//
CString id;
id.Format("%d", id);
CString OrganName;
OrganName.Format("%f",OrganName); int i;
i=100; _bstr_t vSQL;
vSQL="select OrganName from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=f:\;','select OrganName from 4321.txt') "
m_AdoConn.ExecuteSQL(vSQL);
//
m_AdoConn.ExitConnect();
希望给出详细代码,谢谢!
------------------------------------------------------------------------------------------------------------------------------- 程序名 = 4RL026B2.E51
最后更新日期 = 2006/08/28 12:10
基板ID = < 生产管理信息 > 生产基板数量 = 517
生产数量(电路) = 517 开始生产时刻 = 2006/08/28 08:07:55
结束生产时刻 = 2006/08/28 19:57:46
。//以下为需导入的文本: 总吸 元件 吸取 元件 激光 异类 芯片 吸取
供应 通道 元件名 取数 吸取数 贴片数 丢失 错误 无 重试 识别 元件 站立 偏差 其它
LF- 1 * 1005/1/16W-330R 1034 1034 1034 0 0 0 0 0 0 0 *** 0
LF- 3 * 1005/1/16W-470R 1035 1034 1034 1 1 0 0 0 0 0 *** 0
LF- 5 * CC1005/50V-3PF- 1034 1034 1034 0 0 0 0 0 0 0 *** 0
0 *** 0 在SQL查询分析器中用以下语句可执行,在VC中不知如何写?
在查询分析器中可用的二种方法,语句分别如下:
(1):方法一:
select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=f:\;','select * from 4321.txt')
(2):方法二:EXEC master..xp_cmdshell 'bcp "test..make" in f:\db\1234.txt -c -S"SHAREPOINT" -U"sa" -P"123456"'问题一:这二种方法如何在查询分析器中利用INSERT INTO 语句去插入到数据库(第一种方法我原来曾经用INSERT INTO 语句可插入数据库,后来没保存,忘了)?问题二:如何在VC6.0+ADO编程中正确插入这些语句(上面提到的那二种方法)?我已经写了个ADOConn类:在下面的代码中插入SQL语句,提示出错(别的简单的SQL语句在以下代码中可以执行的):ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//
CString id;
id.Format("%d", id);
CString OrganName;
OrganName.Format("%f",OrganName); int i;
i=100; _bstr_t vSQL;
vSQL="select OrganName from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=f:\;','select OrganName from 4321.txt') "
m_AdoConn.ExecuteSQL(vSQL);
//
m_AdoConn.ExitConnect();
希望给出详细代码,谢谢!
impDlg.cpp
F:\develope\code\imp\impDlg.cpp(265) : error C2001: newline in constant
F:\develope\code\imp\impDlg.cpp(266) : error C2146: syntax error : missing ';' before identifier 'DefaultDir'
F:\develope\code\imp\impDlg.cpp(266) : error C2065: 'DefaultDir' : undeclared identifier
F:\develope\code\imp\impDlg.cpp(266) : error C2065: 'f' : undeclared identifier
F:\develope\code\imp\impDlg.cpp(266) : error C2143: syntax error : missing ';' before ':'
F:\develope\code\imp\impDlg.cpp(266) : error C2017: illegal escape sequence
F:\develope\code\imp\impDlg.cpp(266) : error C2146: syntax error : missing ';' before identifier 'select'
F:\develope\code\imp\impDlg.cpp(266) : error C2065: 'select' : undeclared identifier
F:\develope\code\imp\impDlg.cpp(266) : error C2146: syntax error : missing ';' before identifier 'OrganName'
F:\develope\code\imp\impDlg.cpp(266) : error C2059: syntax error : 'bad suffix on number'
F:\develope\code\imp\impDlg.cpp(266) : error C2065: 'OrganName' : undeclared identifier
F:\develope\code\imp\impDlg.cpp(266) : error C2146: syntax error : missing ';' before identifier 'from'
F:\develope\code\imp\impDlg.cpp(266) : error C2065: 'from' : undeclared identifier
F:\develope\code\imp\impDlg.cpp(266) : error C2143: syntax error : missing ';' before 'constant'
F:\develope\code\imp\impDlg.cpp(266) : error C2001: newline in constant
F:\develope\code\imp\impDlg.cpp(266) : error C2146: syntax error : missing ';' before identifier 'txt'
F:\develope\code\imp\impDlg.cpp(266) : error C2065: 'txt' : undeclared identifier
F:\develope\code\imp\impDlg.cpp(266) : error C2143: syntax error : missing ';' before 'constant'
F:\develope\code\imp\impDlg.cpp(273) : error C2146: syntax error : missing ';' before identifier 'm_AdoConn'
Error executing cl.exe.另上贴中以下代码是不小心贴上去的,已删除了:CString id;
id.Format("%d", id);
CString OrganName;
OrganName.Format("%f",OrganName); int i;
i=100;
http://community.csdn.net/Expert/topic/4978/4978569.xml?temp=.6574671
可以在SQL查询分析中可执行,却不知道在VC ADO中插入这些语句。或,有别的那以上文本插入到数据库的方法:最好是智能化一点,比如读取指定行,或指定字节后决定是否开始导入?
ADOConn::ADOConn()
{}ADOConn::~ADOConn()
{}// void ADOConn::OnInitADOConn()
{
//
::CoInitialize(NULL);
try
{
//
m_pConnection.CreateInstance("ADODB.Connection");
//
_bstr_t strConnect = "Provider=SQLOLEDB; Server=SHAREPOINT;Database=test; uid=sa; pwd=hibit1234;";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
//
catch(_com_error e)
{
//
AfxMessageBox(e.Description());
}
}//
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
//
if(m_pConnection==NULL)
OnInitADOConn();
//
m_pRecordset.CreateInstance(__uuidof(Recordset));
//
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
//
catch(_com_error e)
{
//
AfxMessageBox(e.Description());
}
//
return m_pRecordset;
} //
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
//_variant_t RecordsAffected;
try
{
//
if(m_pConnection == NULL)
OnInitADOConn();
//
//
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}void ADOConn::ExitConnect()
{
//
if (m_pRecordset != NULL)
m_pRecordset->Close();
m_pConnection->Close();
//
::CoUninitialize();
}
DefaultDir=f:\;','select OrganName from 4321.txt') "
里面的单引号要用转义字符吧,用两个表示一个
DefaultDir=f:\;'',''select OrganName from 4321.txt'') "
不知道VC++是否技术OpenRowset ,流汗ING
急呀!!1
郁闷!!!
但是我是需要insert into 语句:
vSQL="insert into makechar OpenRowset(''MSDASQL'', ''Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=f:\;'',''select from 4321.txt'')";
TXT档的列设置如下:
"id","ProvideChannel","OrganName","AllImbibeNum","ImbibeNum","AdhibitNum","OrganLoss","ImbibeError", "OragnON", "ReTry", "LaserRecognise","DifferentOrgan", "ChipsetStand", "ImbibeWarp"," Other"
CHAR的。
我正在试具体的写法.
select OrganName from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=f:\;','select OrganName from 4321.txt')
declare @sql varchar(8000)
set @sql='select OrganName from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=f:\;','select OrganName from 4321.txt')'
exec(@sql)不过楼主现在的问题到底是什么呢?
服务器: 消息 7320,级别 16,状态 2,行 1
未能对 OLE DB 提供程序 'MSDASQL' 执行查询。
[OLE/DB provider returned message: [Microsoft][ODBC Text Driver] 参数不足,期待是 1。]
OLE DB 错误跟踪[OLE/DB Provider 'MSDASQL' ICommandText::Execute returned 0x80040e10]以下是未加Other列可完全执行的语句: select ProvideChannel, OrganName ,AllImbibeNum ,ImbibeNum,AdhibitNum,OrganLoss,ImbibeError, OragnON, ReTry, LaserRecognise,DifferentOrgan, ChipsetStand, ImbibeWarp from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=f:\;','select ProvideChannel,OrganName ,AllImbibeNum ,ImbibeNum,AdhibitNum,OrganLoss,ImbibeError, OragnON, ReTry, LaserRecognise,DifferentOrgan, ChipsetStand, ImbibeWarp from 4321.txt')
高手呢?
或者你贴点数据上来看看
楼主,去www.mylinux.com.cn看看,那里专业资料多,应该能得到解答
就是在VC++6.0 的ADO编程里插入一条可以导入TXT档的SQL语句:语句就是这句,
不知道具体写法,求具体写法。insert into select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=f:\;','select * from 4321.txt')
只差一个Other列了,加上这列命令时分析查询通过,执行查询时出错:
服务器: 消息 7320,级别 16,状态 2,行 1
未能对 OLE DB 提供程序 'MSDASQL' 执行查询。
[OLE/DB provider returned message: [Microsoft][ODBC Text Driver] 参数不足,期待是 1。]
OLE DB 错误跟踪[OLE/DB Provider 'MSDASQL' ICommandText::Execute returned 0x80040e10]以下是未加Other列可完全执行的语句: select ProvideChannel, OrganName ,AllImbibeNum ,ImbibeNum,AdhibitNum,OrganLoss,ImbibeError, OragnON, ReTry, LaserRecognise,DifferentOrgan, ChipsetStand, ImbibeWarp from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=f:\;','select ProvideChannel,OrganName ,AllImbibeNum ,ImbibeNum,AdhibitNum,OrganLoss,ImbibeError, OragnON, ReTry, LaserRecognise,DifferentOrgan, ChipsetStand, ImbibeWarp from 4321.txt')你加了other在查询分析器中也不行??
insert into select * from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=f:\;','select * from 4321.txt') 第二步:
把查询分析器中可以执行的语句添加到C++中。明白I不?现在最关键的是如何在查询分析器中通过
go
create table test(name varchar(200),b varchar(200))
insert test(name,b) select Abraham,Bennet from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=c:\;','select Abraham,Bennet from Authors.txt')
select name,b from test
drop table test
―――――――――――――――――――――――――――――――――――――――
insert test(name,b) select Abraham,Bennet from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=c:\;','select Abraham,Bennet from Authors.txt')
select name,b from test
drop table test
??
这是BCP吗?
上面一部分代码是为了得到Authors.txt,以逗号分割
我现在要的是如何把这些得到的数据插入数据库。我上面有那么多的信息,你写个完全插入的给我看下。你以为我这几条命令都看不懂??exec master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout c:\Authors.txt -c -t , -S Flysky -U sa -P 密码'
go
多此一举!!!
go
select * into txt from OpenRowset('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=f:\;','select * from 4321.txt')
文本设置成如下格式:
"id","ProvideChannel", "OrganName" ,"AllImbibeNum" ,"ImbibeNum","AdhibitNum","OrganLoss","ImbibeError", "OragnON", "ReTry", "LaserRecognise","DifferentOrgan","ChipsetStand","ImbibeWarp","Other"
1, LF- 1, 1005/1/16W-330R, 1034, 1034, 1034, 0, 0 , 0, 0, 0, 0, 0, ***, 0
2, LF- 3, 1005/1/16W-470R, 1035, 1034, 1034, 1, 1, 0, 0, 0, 0, 0, ***, 0
3, LF- 5, CC1005/50V-3PF-, 1034, 1034, 1034, 0, 0, 0, 0, 0, 0, 0, ***, 0
4, LF- 7, 1005/1/16W-330R, 1034, 1034, 1034, 0, 0, 0, 0, 0, 0, 0, ***, 0
5, LF- 9, 1005/1/16W-10R , 5695, 5689, 5687, 6, 6, 1, 1, 2, 0, 0, ***, 0
6, LF-11, CC1005/25V-1000, 4663, 4654, 4653, 8, 9, 1, 1, 0, 0, 0, ***, 1
7, LF-13, 1005/1/16W-2.7K, 1553, 1551, 1551, 0, 2, 1, 1, 0, 0, 0, ***, 0
8, LF-15, CC1005-6.3V-1uF, 1557, 1552, 1551, 6, 5, 0, 0, 1, 0, 0, ***, 0
这样就可以搞定了!!!!