::CoInitialize(NULL);
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
m_pConnection->ConnectionString = "Data Source=PC-20160413KEQW\SQLEXPRESS;Integrated Security=False;User ID=sa;Password=112358;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";
m_pConnection->Open("","","",adConnectUnspecified);
m_pConnection->DefaultDatabase = "PM";
//m_pConnection->ConnectionTimeout=2;///設定超時時間為2秒
//hr = m_pConnection->Open("driver={SQL Server};Server=PC-20160413KEQW\SQLEXPRESS;DATABASE=PM;","sa","112358",adModeUnknown);
//hr = m_pConnection->Open("Data Source=PC-20160413KEQW\SQLEXPRESS;Integrated Security=False;User ID=sa;Password=112358;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False","","",adModeUnknown);
}
else
MessageBox("連接資料庫失敗");
}
catch(_com_error e)
{
//CString log;
//log.Format("連接資料庫失敗!\r\n原因:%s",e.ErrorMessage());
//MessageBox(log);
Getcomerror("SQL_Connect1",e);
}
我用vs2012連接sql server2012,以上代碼拋出例外- e {DB_E_ERRORSOCCURRED Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.} _com_error
用vs2012的SQL Server物件資源管理器可以正常連接,連接字串就是上面用的,求助大神這個問題該怎么解決,萬分感謝!
uj5u.com熱心網友回復:
PC-20160413KEQW\SQLEXPRESS改成
PC-20160413KEQW\\SQLEXPRESS
C語言中用\記得改成\\。
uj5u.com熱心網友回復:
改完依然不好用啊。uj5u.com熱心網友回復:
搜“資料庫連接串”?uj5u.com熱心網友回復:
可以用ADO助手幫忙測驗連接字串。uj5u.com熱心網友回復:
大神能具體指點一下嗎?我之前的程式用hr = m_pConnection->Open("driver={SQL Server};Server=PC-20160413KEQW\SQLEXPRESS;DATABASE=PM;","sa","112358",adModeUnknown);可以正常連接。結果硬碟壞了,換了硬碟重裝系統后就連不上了。
uj5u.com熱心網友回復:
確認你的sa密碼沒錯。uj5u.com熱心網友回復:
先使用查詢分析器正常連接后在寫到程式中。轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/153542.html
標籤:數據庫
