请教各位大虾。我用VC++做了一个小程序,本来是连接Access数据库的,现在想把它改成连接SQL Server 2005。怎么改过来后老是说“SQL Server 不存在或被拒绝访问”?我连接Access数据库的代码如下:
void ADOConn::OnInitADOConn()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
//创建connection对象
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串
//Access数据库连接语句
_bstr_t strConnect="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=shujuku.mdb;";
//SERVER和UID,PWD的设置根据实际情况来设置
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}改为SQL Server 2005连接的代码为:
void ADOConn::OnInitADOConn()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof( Connection));
_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=True;UID=sa;PWD=a;Initial Catalog=shujuku;Data Source=11W\SQLEXPRESS";
// _bstr_t strConnect="driver={SQL Server};server=127.0.0.1;UID=sa;PWD=a;database=shujuku";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}
但就是连接不上。请问那里有错。从Access改为sql server 2005只需要改这一个地方就可以了吧?我应该怎么改?谢谢了~
void ADOConn::OnInitADOConn()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
//创建connection对象
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串
//Access数据库连接语句
_bstr_t strConnect="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=shujuku.mdb;";
//SERVER和UID,PWD的设置根据实际情况来设置
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}改为SQL Server 2005连接的代码为:
void ADOConn::OnInitADOConn()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof( Connection));
_bstr_t strConnect="Provider=SQLOLEDB.1;Persist Security Info=True;UID=sa;PWD=a;Initial Catalog=shujuku;Data Source=11W\SQLEXPRESS";
// _bstr_t strConnect="driver={SQL Server};server=127.0.0.1;UID=sa;PWD=a;database=shujuku";
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
//捕捉异常
catch(_com_error e)
{
//显示错误信息
AfxMessageBox(e.Description());
}
}
但就是连接不上。请问那里有错。从Access改为sql server 2005只需要改这一个地方就可以了吧?我应该怎么改?谢谢了~
解决方案 »
- sdk下工具提示控件使用
- 写入注册表后 出现字符不全的问题
- 精度转换问题
- DLL与进程通讯问题
- 请问一下有关重新启动,关机,和注销计算机的代码。
- 有关VC.NET中使用STL的问题
- 上VC论坛上请教: 我在eVC中使用m_listCtrl.InsertColumn(0, "From", LVCFMT_LEFT, 10),为什么出现了下面的错误?在VC根本没错误。
- 一个小问题,将某一个磁盘设为共享的函数是什么?
- win2k,win98下overlapped写文件的区别?
- 用CreateProcess和ShellExecuteEx创建进程,效果有什么不同吗?
- 显示AVI文件某一帧的BMP图片,内存使用增加
- 关于csting的问题
太谢谢你了啊,行了,就是少了一个斜扛。服务器名我是直接从SQL Server里面拷的,它只有一个斜扛,竟然要加多一斜扛。真的太谢谢你了。全部分给你~