如何动态配置sql server的数据源。
我想在程序中动态的配置一个sql server 的DSN(db)
然后在程序中用CDatabase打开:
m_db.Open(_T("db"),FALSE,FALSE,_T("ODBC;")
怎么实现啊?
我知道要配Access的DSN,是用
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc))
我想在程序中动态的配置一个sql server 的DSN(db)
然后在程序中用CDatabase打开:
m_db.Open(_T("db"),FALSE,FALSE,_T("ODBC;")
怎么实现啊?
我知道要配Access的DSN,是用
SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc))
解决方案 »
- 有关OPENDATASOURCE的问题!急.....
- 怎么复制.exe文件?
- 请问如何使用RecordSet::Open()函数读取MS SQL数据库?(急!!)
- TRACE的内容在哪个窗口中可以看到
- 已经安装了winpcap2.3.exe,可在用VC编译包含有packet32.h的头文件时,还是不认它。怎么办?
- WINDOWS98覆盖安装的问题?
- 在C语言中,语句while (scanf("%c",&c)==1);怎样才能使它不等于1?
- 为什么我提的问题现在内容变成空的了???
- MFC单文档程序启动自动全屏显示求教
- 一个函数里需要返回一个CString数组,怎么能实现?
- ———————语音录放的内存控制问题——————
- 二进制小数的问题
方法2.可直接调用底层odbc Api(不是MFC Api,这个只能用在高层次)直接创建。(参照
<<vc++ 高级技术-数据库篇>>)
还有函数和odbc Api例子做好后,能否发给我,我没时间去弄
[email protected]
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
// AfxMessageBox(sPath);
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left (nPos);
CString lpszFile = sPath + "\\Test.mdb";
char* szDesc;
int mlen;
szDesc=new char[256];
sprintf(szDesc,"DSN=%s? DESCRIPTION=TOC support source? DBQ=%s? FIL=MicrosoftAccess? DEFAULTDIR=%s?? ","lhwy",lpszFile,sPath);
AfxMessageBox(szDesc);
mlen = strlen(szDesc);
for (int i=0; i<mlen; i++)
{
if (szDesc[i] == '?')
szDesc[i] = '\0';
}
// CString szDesc = "DSN=lhwy"; if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPTSTR)szDesc)) AfxMessageBox("SQLConfigDataSource Failed");
给你段以前我写的代码参考
楼上的是ACCESS不是SQL SERVER
连接字符不同