2024年5月1日发(作者:)
通过ODBC连接数据库(C++)
C++连接数据库的方法有很多种,在Visual C++和SQL server的实际开发中,一般使用
ODBC或ADO技术进行开发,相关技术和产品也最为成熟。我们这里根据课程需要采用ODBC
的方法。
我使用的平台的是VS2010和SQL server 2008,优点是VS2010支持一些比较新的特性,
编程方便了很多,缺点是左侧的“服务器资源管理器”不支持SQL server 2000,但是没有关
系,在SQL server 2008上是可以连上的,大家如果和我的平台不一样的话在编程细节上可
能有些问题要注意下。
有同学表示安装了SQL server 2008之后只能通过“windows 身份验证”登陆本地数据库,
无法通过“SQL server 身份验证”登陆,这是由于安装的时候是通过“windows 身份验证”
安装的,改一下配置即可:
1. 使用“windows 身份验证”登陆数据库,点击“登录名”,右击sa,选择属性,点击状
态,确保设置如
左侧图所示。
2. 右击本地服
务器名选择属
性,更改安全性
中的服务器身份
验证如下图所示
3. 右击地服务器名选择重新启动(这一部很重要)
4. 如何还有问题的话查看目录
“D:Program
google之
FilesMicrosoft SQL
ERVERMSSQLLog”
下的
ERRORLOG
文件,找到错误代码,
打开SQL server 2008 连接一个我们测试用的数据库,使用的10.214.6.98上的数据库
db27,用户名和密码都是user277,执行以下命令:
use db27
CREATE Table book (
bno char(8) ,
category char(10) ,
title varchar(40) not null,
press varchar(30) not null,
byear int CHECK(byear > 0),
author varchar(20) not null,
price decimal(7,2) CHECK(price > 0),
total int CHECK(total >= 0),
stock int CHECK(stock >= 0),
CONSTRAINT ck CHECK(stock <= total)
)
INSERT INTO book VALUES
('12345678','数据库','数据库系统原理教程','清华大学出版社',1998,'王珊
',27.9,3,0)
INSERT INTO book VALUES
('12342378','数据库','数据库','清华大学出版社',1998,'王珊',27.9,3,0)
INSERT INTO book VALUES
('12341278','数据库','数据库','清华大学出版社',1998,'王珊',27.9,3,0)
INSERT INTO book VALUES
('14345678','数据库','数据库','清华大学出版社',1998,'王珊',27.9,3,0)
上面SQL语句执行的结果是在db27数据库中创建了一个名为book的表,里面有9列,
随后添加了4个测试数据,现在将该数据源添加到ODBC数据源管理器中,打开路径
“控制面
板所有控制面板项管理工具”
下的数据源(ODBC),添加新的数据源,选择
“SQL Server”
名称设置为db27,服务器在10.214.6.98,使用user277用户登录,完成后点击测试数据源
看能不能连上,显示测试成功后,在用户数据源中会看到刚刚添加的DSN:


发布评论