我现在研读的是《Visual c++开发技术大全》和《Visual c++数据库系统开发完全手册》.在自己编程的过程中遇到了些问题,我以前用的是台式机装的是XP的操作系统,在该系统中代码和数据库(SQL 2000)都运行的很好,但是拿到正版Vista中数据库连接的部分就是出错,在Vista中数据库还是装的SQL 2000,连接出错的地方在open()函数那里,连接数据库的字符串如下:
Connectionstring="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pp;Data Source=.";
这句连接数据库的字符串我是按照你们在《Visual c++数据库系统开发完全手册》书中说的方法获取的,但是在Vista中运行不了。开始我以为是我把代码烤到Vista的环境下,在Vista中数据库的连接字符串出现了变化,于是我按照同样的方法在Vista中获取了连接数据库的字符串,如下:
Connectionstring="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pp;Data Source=.";但是还不能运行。
(我在安装数据库的时候用户名是sa,用户密码也是sa).
我很奇怪起初以为是SQL 2000数据库没安装好,可是我发现自己的数据库安装的时候是选择的两种身份验证方式,安装完后也是把数据库设置成了使用Windows身份验证,这些问题都注意了啊!在Vista中怎么就是连接不上数据库呢!另外一个问题是在Vista中一旦把数据库服务器打开了,好像不能像XP中直接点击服务器小图标暂停或者是停止数据库,如果这么做系统总是弹出错误并且不能执行。在Vista下数据库的使用就这么不方便了吗?连接不上,关不掉。Vista安全性能太高了总是不停的询问。
希望明日科技的高手不吝赐教以上两个问题,能不能说的详细点。问题真的是太棘手了,整的我是一头雾水。先谢谢了!
附上部分原代码: pConn.CreateInstance(_uuidof(Connection));
pRst.CreateInstance(_uuidof(Recordset)); 
_bstr_t Connectionstring="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pp;Data Source=.";
try
{

pConn->Open(Connectionstring," "," ",adConnectUnspecified); 
CString sql; 
sql.Format("select * from  yoyo where yoyo.username = '%s' and yoyo.password = '%s'",c_user,c_password);
pRst=pConn->Execute((_bstr_t)sql,NULL,adCmdText);。