当前位置:首页 » 操作系统 » vcodbc连接数据库连接

vcodbc连接数据库连接

发布时间: 2023-02-03 05:56:10

⑴ 如何使用odbc连接数据库

使用odbc连接数据库的步骤如下:
1、首先安装Mysql
odbc
connector
插件。配置32位ODBC数据源,选择“控制面板”->"系统和安全"->"管理工具",如下图所示:
2、双击ODBC数据源(32位),进入下面界面,如下图所示:
3、切换至“系统DSN”选项卡,滚动并选择MySQL
ODBC
5.3
Unicode
Driver,单击完成,如下图所示:
4、配置数据源与用户名密码,并选择相应的数据库(注:Data
Source
Name
需要自己命名,Database
需要选择自己需要使用的数据库),以下是配置好的数据源,如下图所示:
5、打开SSDT,新建ODBC数据源,选择刚刚建立的数据源,输入用户名和密码(与设置数据源的时候的用户名和密码一致),如下图所示:

⑵ sql如何连接odbc数据库,vc怎么连接odbc数据库

建议使用ado来连接,使用odbc比较繁琐的,如下是我精心总结的使用ado连接数据库方法

*******************************************
**********首先是连接Access数据库***********
*******************************************

@@@@@@@以下在VC6.0环境中都能实现@@@@@@@@@@@
================ADO方法:==================
|||||针对Access2003:---->参照实例Ado6666.zip文件
//首先要在文件的头部引入一个动态链接库:
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF") \
rename ("BOF","adoBOF")
//连接指针,实例方法一
_ConnectionPtr pConn(__uuidof(Connection));
//连接指针,实例方法二
_ConnectionPtr pConn; pConn.CreateInstance(__uuidof(Connection));
//对于ADO的连接,要指定一个Provider和一个数据源
//ADO连接Access的Provider是Microsoft.Jet.OLEDB.4.0而数据源就是一个Access文件
Provider = Microsoft.Jet.OLEDB.4.0;
Data Source = ×××.mdb
//调用Open函数打开连接
//Open的第一个参数是连接字符串(ConnectionString),即由Provider和Data Source组成的一个字符串
//第二个和第三个参数是数据源的用户名和密码,如果没有给它们指定,则为空字符串
pConn->Open("","","",adConnectUnspecified);
//打开记录集两种方式
//方式一: 该方式打开一个SQL语句执行的内容,且能够对记录集进行查询、修改、添加和删除
pRset->Open("SELECT * FROM 学生",(_variant_t)((IDispatch*)pConn),adOpenDynamic,adLockOptimistic,adCmdText);
//方式二: 该方式打开一个SQL语句执行的内容,与“方式一”所不同的是,我们只能对其查询
pRset = pConn->Execute("SELECT * FROM 学生",NULL,adCmdText);
//另加说明:还有其他打开方式,如利用_CommandPtr指针对象,也是可以有同样的操作的
//记录集和数据库的练级的关闭
pRset->Close(); //关闭
pRset.Release(); //释放
pRset = NULL; //设其值为NULL,防止到处乱指
pConn->Close(); //关闭
pConn.Release(); //释放
pConn = NULL; //设其值为NULL,防止到处乱指
-------------------------------------------------------------------------------------------
|||||针对Access2007:---->参照实例Ado7777.zip文件
我们知道Access2007文件的后缀名是.accdb,经过测试我们知道,使用Microsoft.Jet.OLEDB.4.0 Provider
已经不能打开数据库,微软给我们提供了一个支持Access2007数据库连接的Provider:Microsoft.ACE.OLEDB.12.0
只是这样还不够,还需要一个数据引擎,我从网上下了一个:AccessDatabaseEngine.exe,安装之后就可以用了。
其他操作和连接Access2003大同小异,没有什么区别。
-------------------------------------------------------------------------------------------
|||||针对SQL Server2005:---->参照实例DBLinkToSS2005.zip文件
对于ADO技术的使用,只要做好连接字符串,其他操作基本相同
对于连接SQL Server2005,主要还是ConnectionString的问题,它的ConnectionString是:
Provider=MSDASQL.1;Password=lanche;Persist Security Info=True;User ID=sa;Data Source=mysqlserver2005ds;Initial Catalog=master
这段代码比较长,不容易记住,但是没有必要,有一种简便的方法,可以准确无误地做好连接字符串的准备
方法如下:
1,向对话框中添加两个ActiveX控件:Microsoft ADO Data Control 6.0(SP6)和Microsoft DataGrid Control 6.0(SP6)
要注意的是,在"Insert Active Control"对话框中还有一个与Microsoft DataGrid Control 6.0类似的控件:DBGrid Control,
千万别加错了!
2,打开Microsoft ADO Data Control 6.0(SP6)控件的属性对话框,在标签控件中选择Control标签,点击"Build",将会弹出一个数据
连接属性对话框,这里有很多种连接,当然我不可能把所有的情况都说一遍,现在我只说说现在我的做法:
【提供程序】选择Microsoft OLEDB DB Provider for ODBC Drivers【连接】选择一个数据源,如我利用
SQL Server Native Client 10.0驱动程序建立了一个名为"mysqlserver2005ds"数据源
3,如果测试连接成功后,即可以得到一个ConnectionString了
-------------------------------------------------------------------------------------------
|||||针对Oracle 11g:---->参照实例DBLinkToSS2005.zip文件
连接Oracle11g的方法和连接SQL Server2005的方法是一样的,在这里我只给出我做的实例的ConnectionString
Provider=MSDASQL.1;Password=lanche;Persist Security Info=True;User ID=system;Data Source=Oracle ODBC for Visual C++
###########################################################################################
备注:
1,其他数据库连接,比如到SQL Server2008(SQL Server2000不必说,因为它已经退出历史舞台),还有Oracle10g,它应该和Oracle11g的连接
方法一样,没什么变化。还有一类数据库,我不想讨论,比如MySQL,DB2等。
2,还有三种连接数据库技术:ODBC,OLE,DAO,这三种方法比较古老,ODBC只是在数据源方面还很有用,至于用它来做数据库开发,是不适宜的;
DAO是建立在OLE之上的一种技术,如今出现了ADO技术,虽说DAO技术在某些方面还是有一些优势,但还是被ADO给淘汰了,据我所知,DAO
已经被淘汰了,目前ADO是使用最广泛也是最便利的技术,所以综合这四种技术,在数据库开发中推荐使用ADO.故不再讨论其他连接技术了。
…………………………………………Summed on by Chengming………………………………………………
……………………………If you have any question,please contact me…………………………………
…………………My QQ number is 1204833748 and my e-mail is [email protected]…………………

⑶ 如何用VC连接SQL数据库!ODBC数据源类型的!!

(1).在文件stdafx.h中最后一个#endif的前一行写入
#import "C:\program files\common files\System\ado\msado15.dll" no_namespace \
rename("EOF","EndOfFile") \
rename("LockTypeEnum","newLockTypeEnum")\
rename("DataTypeEnum","newDataTypeEnum")\
rename("FieldAttributeEnum","newFieldAttributeEnum")\
rename("EditModeEnum","newEditModeEnum")\
rename("RecordStatusEnum","newRecordStatusEnum")\
rename("ParameterDirectionEnum","newParameterDirectionEnum")
如果你的系统不是安装在C盘的话就把#import 后面的C改成系统所有的盘
(2).在C***App类的
public:下加入
_RecordsetPtr m_pADOSet;
bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL);
在private:下加入_ConnectionPtr ADOConn;
在class C***App : public CWinApp
{
...
};之后#endif之前加入extern C***App theApp;

(3)在BOOL C***App::InitInstance()函数中Enable3dControls(); // Call this when linking to MFC statically这一行下面加入
if( FAILED(::CoInitialize(NULL)) )
{
AfxMessageBox("ADO Init failed");
return false;
}
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open("DSN=OBDC数据源;Provider=MSDASQL","用户","密码", adConnectUnspecified);//这一行要自已修改
}
catch(_com_error &e)
{
CString err;
err.Format("%s", (char*)(e.Description()) );
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox("Unknown Error...");
}
m_pADOSet.CreateInstance(__uuidof(Recordset));
并在文件最后加上如下代码:
bool C***App::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
if ( ADOSet->State == adStateOpen) ADOSet->Close();
try
{
ADOSet->Open(strSQL, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
return true;
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
AfxMessageBox(err);
return false;
}
}

最后就可以在登录时执行SQL语句了,比如用户为CString strUser, 密码是CString strPwd;数据库表是user_table(user_id, user_name, user_pwd)则
_variant_t strQuery, Holder;
strQuery = "select * from user_table where user_name='"+strUser +"' and user_pwd='"+ strPwd +"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount )
{
AfxMessageBox(_T("密码错误"), MB_ICONEXCLAMATION);
return;
}
else
{
AfxMessageBox(_T("登录成功"), MB_ICONEXCLAMATION);
}

⑷ vc下用odbc连接mysql

::SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server","DSN=aaa\0 SERVER=(Local)\0

DATABASE=mydb\0\0"); //odbc中添加一个数据源,数据源名称:aaa,本地服务器,数据库名:mydb
try
{
CDatabase m_DbOdbc; //创建数据库对象
m_DbOdbc.OpenEx("DSN=aaa;UID=user;PWD=pa;",CDatabase::noOdbcDialog); //链接并打开数据库
}
catch(CDBException *e)
{
return FALSE;
}

要包含头文件
#include <odbcinst.h>
#include <afxdb.h>

热点内容
招标服务器云 发布:2024-05-19 20:04:19 浏览:583
搭建小米云服务器 发布:2024-05-19 19:43:17 浏览:130
苹果手机备忘录怎么加密 发布:2024-05-19 18:57:57 浏览:16
光荣脚本 发布:2024-05-19 18:57:48 浏览:997
pythonjson字符串 发布:2024-05-19 18:51:43 浏览:253
什么是服务器厂商介绍 发布:2024-05-19 18:50:09 浏览:371
服务器网卡硬件型号怎么看 发布:2024-05-19 18:36:41 浏览:666
修改pve服务器ip 发布:2024-05-19 18:31:52 浏览:469
微信密码忘记了如何取出里面的钱 发布:2024-05-19 18:27:35 浏览:330
vs2005反编译 发布:2024-05-19 18:26:34 浏览:364