vc sql server odbc如何动态创建一个数据源!!!
实现条件:
1〉不使用控制面板,
2〉而后又能使数据源直接连到pubs库上,
3〉使用系统身份验证。
以上这些能够自动完成!!清高首赐教!!!
实现条件:
1〉不使用控制面板,
2〉而后又能使数据源直接连到pubs库上,
3〉使用系统身份验证。
以上这些能够自动完成!!清高首赐教!!!
解决方案 »
- H.264的视频流如何保存到文件
- windows的应用程序中用vc写的多还是C++builder写的多?
- 利用TCP\IP协议进行传输时,不是可以保证数据的有效性吗?为什么还要加上校验呢?
- 用Win32 API如何显示jpg文件呢?
- 菜鸟提问:关于CreateDirectory()的问题,为何只能建一层目录?
- stl中find()的问题
- List Control的显示问题
- MFC连接 SQL Server
- 一个老问题 关于WndProc函数访问窗口对象成员的方法
- 富文本RichEditCtrl实现IExRichEditOleCallback接口插入OLE对象,获取文件路径问题。来看看。
- 为什么QQ登录后多出这么多udp端口?
- 如何让CListCtrl中的某一行高亮显示
DBServer: 数据库所在主机
DBName: 数据库名称
DSN: 数据源名称
UID: 登陆用户
返回值:
-1: 没有安装SQL Server驱动程序
-2: 其他错误
0: 成功实现函数:
int MakeSQLServerODBCDSN(LPCTSTR DBServer,LPCTSTR DBName,LPCTSTR DSN,LPCTSTR UID)
{
BOOL bInstallDriver=TRUE;
CRegKey regKey; LONG lRet=regKey.Open(HKEY_LOCAL_MACHINE,"Software\\ODBC\\ODBCINST.INI\\SQL Server");
if(lRet!=ERROR_SUCCESS)
{
bInstallDriver=FALSE;
}
else
{
char szDirverPath[MAX_PATH]="";
DWORD dwCount=100;
lRet=regKey.QueryValue(szDirverPath,"Driver",&dwCount);
if((lRet!=ERROR_SUCCESS)||(dwCount<1))
{
DWORD dwErr=GetLastError();
bInstallDriver=FALSE;
}
regKey.Close();
}
if(!bInstallDriver)
{
return -1;
}
CString strKeyValueName="Software\\ODBC\\ODBC.INI\\";
strKeyValueName+=DSN;
lRet=regKey.Create(HKEY_LOCAL_MACHINE,strKeyValueName);
if(lRet!=ERROR_SUCCESS)
{
return -2;
}
regKey.SetValue(DBName,"Database");
regKey.SetValue("SQLSrv32.dll","Driver");
regKey.SetValue(DBServer,"Server");
regKey.SetValue(UID,"LastUser");
regKey.m_hKey=HKEY_LOCAL_MACHINE;
regKey.SetKeyValue("Software\\ODBC\\ODBC.INI\\ODBC Data Sources","SQL Server",DSN);
regKey.Close();
return 0;
}
我是想实现:
怎样才能使动态配置的数据源能够默认选择“使用网络登陆ID的WINDOWS NT验证被选中”?
我写的部分代码:
if(SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,"SQL Server",_T("DNS=myDNS\0SERVER=TEXT\0DATABASE=pubs\0"));我是由控制面板打开DNS时,默认的选择“使用用户登陆的ID和密码的SQL SERVER身份验证”,我怎样才能使动态配置的数据源能够默认选择“使用网络登陆ID的WINDOWS NT验证被选中”呢?
我是想实现:
怎样才能使动态配置的数据源能够默认选择“使用网络登陆ID的WINDOWS NT验证被选中”?
我写的部分代码:
if(SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,"SQL Server",_T("DNS=myDNS\0SERVER=TEXT\0DATABASE=pubs\0"));我是由控制面板打开DNS时,默认的选择“使用用户登陆的ID和密码的SQL SERVER身份验证”,我怎样才能使动态配置的数据源能够默认选择“使用网络登陆ID的WINDOWS NT验证被选中”呢?
http://www.vckbase.com/document/viewdoc/?id=249