• 3589阅读
  • 2回复

[提问]连接ODBC的问题 [复制链接]

上一主题 下一主题
离线sjyzhxw
 
只看楼主 倒序阅读 楼主  发表于: 2012-05-18
window.open('http://www.qtcn.org/bbs/attachment/Mon_1205/17_130346_c3009f20ca94cce.png?13');" style="max-width:700px;max-height:700px;" onload="if(is_ie6&&this.offsetWidth>700)this.width=700;" >
界面如上。
之前连接用的1-5行的代码,如果没有正确输入用户名密码是不能连接的
但改成后面的代码以后,如没有打开详细设置拓展项并且没有输入任何用户名密码,也是可以成功连接的。MyServer是我ODBC源的名字,默认数据SchoolManagement

我猜测是使用了windows验证方式登陆的,请问有没有什么办法可以只有在输入正确用户名密码的时候才可以登陆?
  1. db = QSqlDatabase::addDatabase("QODBC");
  2.     //    QString dsn=QString("Driver={sql server};server=127.0.0.1;database=SchoolManagement;uid=errorUID;psw=errorPsw");
  3.     //    db.setDatabaseName(dsn);
  4.     //    db.setHostName(QString("127.0.0.1"));
  5.     //    db.setPort(1433);
  6.     if(detailWidget->isHidden()){
  7.         db.setHostName("localhost");
  8.         db.setPort(1433);
  9.         db.setDatabaseName("MyServer");
  10.     }else{
  11.         db.setHostName(hostNameLine->text());
  12.         db.setPort(portLine->text().toInt());
  13.         db.setDatabaseName(dbNameLine->text());
  14.     }

离线sjyzhxw
只看该作者 1楼 发表于: 2012-05-18
  1. db = QSqlDatabase::addDatabase("QODBC");
  2.     if(detailWidget->isHidden()){
  3.         QString dsn=QString("Driver={sql server};server=127.0.0.1;database=SchoolManagement;uid=errorUID;psw=errorPsw");
  4.         db.setDatabaseName(dsn);
  5.         db.setHostName(QString("127.0.0.1"));
  6.         db.setPort(1433);
  7.     }else{
  8.         db.setHostName(hostNameLine->text());
  9.         db.setPort(portLine->text().toInt());
  10.         db.setDatabaseName(dbNameLine->text());
  11.     }

呃,我突然想到这样就可以了。。。
但是还是有疑惑,有没有办法可以不允许windows验证方式登陆这个数据库?
离线sjyzhxw
只看该作者 2楼 发表于: 2012-05-18
还有一个问题。

做好以后把数据库分离下来,附加到另外的电脑上,在那台电脑不能通过这个程序访问本地的数据库。。请问应该怎么办
快速回复
限100 字节
 
上一个 下一个