请教该错误如何解决
代码如下:
#include <windows.h>
#import "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\Resources\1033\sqldmo.rll" no_namespace
///////////////////////////////////////////////
//建立数据库函数
int DBCreate(char * UserName,char * PassWord,char * DBName,char * DBFileList){
HRESULT hr;
_SQLServerPtr spSQLServer;
int rtv=0;
_bstr_t dbname(DBName);
_bstr_t dbfilelist(DBFileList);
//初始化
hr=CoInitialize(NULL);
if(FAILED(hr)){
return 1;//初始化失败
}
//建立数据库对象
hr=spSQLServer.CreateInstance(__uuidof(SQLServer));
if(FAILED(hr)){
CoUninitialize();//释放
return 2;//建立数据库对象失败
}
//连接数据库
hr=spSQLServer->Connect("(local)",UserName,PassWord);
if(FAILED(hr)){
spSQLServer.Release();//释放
CoUninitialize();//释放
return 3;//连接数据库失败
}
//附加数据库
try{
MessageBox(NULL,"开始建立DB","ok",0);
spSQLServer->AttachDB(dbname,dbfilelist);
//每次执行到这里显示错误:
//"0x779b9466"指令引用的"0xccccccc8"内存。该内存不能为"read"。
//在sqlserver的企业管理器中可以看到该数据库已经附加上去了
MessageBox(NULL,"成功建立DB","ok",0);
}
catch(_com_error pCE){
MessageBox(NULL,"建立DB失败","ok",0);
rtv=4;
}
MessageBox(NULL,"建立DB111","ok",0);
spSQLServer->Close();//关闭连接
spSQLServer.Release();//释放
CoUninitialize();//释放
return rtv;
}
void main(){
//建立数据库
int i=DBCreate("sa","","wushaowu","c:\\db\\j.mdf,c:\\db\\j.ldf");
return;
}