做一个理财软件,要连接到数据库,希望在在最开始的时候进行初始化,注册一个数据库服务器,然后再连接到这个服务器并创建ODBC数据源。请问如何用VC编程实现注册一个sql server的服务器
解决方案 »
- QQ是如何实现两用户之间同时传送和接收多文件的?
- 静态库中使用CBCGPMenuBar的怪问题
- 接VC或C/C++得项目做(锻炼自己免费做)
- CTreeCtrl的GetItem问题
- email中的乱码,望高人破译,破出多少算多少。本人感激不尽
- 在WIN2K我用Toolhelp32功能获取了系统中所有的进程但不知怎样得到进程相关的占用CPU时间以及占用的内存
- 急问VC中如何判断一button是否Enable?
- 请大家发表一下对MFC Windows 程序设计(第2版)的看法.
- CArray<自己定义的类,自己定义的类> m_myClass; 为什么编译的时候报错啊。。。???
- MFC 背景 异常了..
- 如何获得对话框的背景颜色
- 兔子党散分
用ADO,不需要注册,这里虽然是ACCESS的,换成SQL SERVER的连接字符串就可以了。
InitInstance()
{
AfxEnableControlContainer();
::CoInitialize(NULL);
if (!AfxOleInit())
{//初始化COM环境
return FALSE;
} ConnectDatabase();
....
}ConnectDatabase()
{
CString szConnection = _T("driver={SQL Server};Server=localhost;DATABASE=TerminalUser;UID=sa;PWD=rcmn") ;
if(m_adoConnection.Open(szConnection))
{
return FALSE;
}
return TRUE;
}BOOL CAdoConnection::Open(LPCTSTR lpszConnect, long lOptions)
{
HRESULT hr = S_OK;
//ASSERT(m_pConnection != NULL);
ASSERT(AfxIsValidString(lpszConnect));
CString stConnection(lpszConnect); ASSERT(!stConnection.IsEmpty());
if(stConnection.IsEmpty())
{
return FALSE;
} m_strConnection = stConnection; if (IsOpen())
Close(); try
{
// 连接数据库
if(m_pConnection == NULL){
m_pConnection.CreateInstance(__uuidof(ADOCG::Connection));
} if(m_nConnectionTimeout != 0)
m_pConnection->PutConnectionTimeout(m_nConnectionTimeout); hr = m_pConnection->Open(_bstr_t(LPCTSTR(m_strConnection)),"","",lOptions);
}
catch (_com_error e)
{
GetError(e,TEXT("CAdoConnection::Open"));
_bstr_t Description(e.Description());
m_strLastError = (LPCSTR)Description; //TRACE("====CAdoConnection::Open =================================%s\n",m_strLastError);
return FALSE;
}
return hr == S_OK;
}
Server=localhost是什么意思。这个localhost是一个服务器名吗?
我的意思是如果这个软件放到别的PC上它的服务器名又不一样了呀。难道这个localhost是通用的吗?
SQLState:'01000'
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen
(Invalid Instance())
连接失败:
SQLState:'08001'
SQLState 错误:14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]无效的连接如果我把server=localhost改成本机的服务器名之后就成功了,这是什么回事?
可是我用了这个语句之后SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server","DSN=xitao\0 SERVER=localhost\0 DATABASE=xitao\0 ""Trusted_Connection=Yes\0")连接失败:
SQLState:'01000'
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen
(Invalid Instance())
连接失败:
SQLState:'08001'
SQLState 错误:14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]无效的连接如果我把server=localhost改成本机的服务器名之后就成功了,这是什么回事?PS:我在安装sql的时候并不是使用本机名,而是自己输入了一个名字