當前位置:首頁 » 數據倉庫 » c連接sql2008資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c連接sql2008資料庫

發布時間: 2022-10-01 03:45:22

㈠ C連接sql SERVER 2008 怎麼配置

在 Windows 桌面上,單擊「開始」,然後單擊「運行」。
在「打開」框中,鍵入 MMC,然後單擊「確定」。
在「控制台」窗口中,單擊菜單欄上的「文件」,然後單擊「添加/刪除管理單元」。
在「添加/刪除管理單元」窗口,單擊「添加」。
在「添加獨立管理單元」窗口,從管理單元列表中選擇「組件服務」,然後單擊「添加」。
單擊「關閉」以關閉「添加獨立管理單元」窗口,然後單擊「確定」以關閉「添加/刪除管理單元」窗口。
在「控制台根節點\組件服務」窗口,展開「組件服務」樹。這就是當 COM+ 出現問題時,錯誤消息可能發生的地方。
再次運行 SQL Server 2008 安裝程序。如果收到錯誤消息,請重新安裝 COM+。
重新安裝 COM+--------------------------------------------------------------------------------
從控制面板的「添加或刪除程序」中,單擊「添加/刪除 Windows 組件」。
在「Windows 組件向導」中,不對選擇做任何更改,單擊「下一步」。
一直單擊以完成向導,然後再次運行 SQL Server 2008安裝程序。

㈡ 如何用C語言嵌入式SQL訪問2008SQL資料庫

#include "resource.h"
#include <windows.h>
#include <sqlext.h>
SQLHENV hEnv = NULL;
SQLHDBC hConn = NULL;
SQLHSTMT hStmt=NULL;
SQLHSTMT hStmt1=NULL;
HWND hWinMain;
unsigned char ConnString[1024];
unsigned char FullString[1024];
unsigned char buffer1[1024];
unsigned char number[50];
unsigned char branch[50];
unsigned char money[50];
unsigned char szSQL[100]={"insert into account values(?,?,?)"};
long int size1,size2,size3;
void Connect()
{

int ax,length;
short int *Temp=NULL;
ax=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&hEnv);
if(ax!=SQL_SUCCESS && ax!=SQL_SUCCESS_WITH_INFO)
return;

ax=SQLSetEnvAttr(hEnv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
if(ax!=SQL_SUCCESS && ax!=SQL_SUCCESS_WITH_INFO)
return;

ax=SQLAllocHandle(SQL_HANDLE_DBC,hEnv,&hConn);
if(ax!=SQL_SUCCESS && ax!=SQL_SUCCESS_WITH_INFO)
return;

SQLSetConnectAttr(hConn,SQL_ATTR_AUTOCOMMIT,SQL_AUTOCOMMIT_OFF,0);
length=sizeof(ConnString);
ax=SQLDriverConnect(hConn,hWinMain,ConnString,length,FullString,sizeof(FullString),Temp,SQL_DRIVER_COMPLETE);
if(ax==SQL_SUCCESS || ax==SQL_SUCCESS_WITH_INFO)
MessageBox(hWinMain,(char *)FullString,TEXT("提示:"),0);
}
BOOL CALLBACK MainDlg (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND a;
int ax;
switch(message)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_BUTTON1:
Connect();return true;break;
case IDC_EDIT1:
GetDlgItemText(hwnd,IDC_EDIT1,(char *)ConnString,sizeof(ConnString));
a=GetDlgItem(hwnd,IDC_BUTTON1);
if(*ConnString)
EnableWindow(a,TRUE);
else
EnableWindow(a,FALSE);
return true;break;
case IDC_BUTTON2:
GetDlgItemText(hwnd,IDC_EDIT5,(char *)buffer1,sizeof(buffer1));
ax=SQLAllocHandle(SQL_HANDLE_STMT,hConn,&hStmt);
if(ax!=SQL_SUCCESS && ax!=SQL_SUCCESS_WITH_INFO)
return 0;

SQLSetStmtAttr(hStmt,SQL_ATTR_CURSOR_TYPE,(void *)SQL_CURSOR_STATIC,0);
MessageBox(hWinMain,(char *)buffer1,TEXT("提示:"),0);
ax=lstrlen((char *)buffer1);
SQLExecDirect(hStmt,buffer1,ax);
SQLFreeHandle(SQL_HANDLE_STMT,hStmt);break;
case IDCANCEL:
if(hConn)
{
SQLEndTran(SQL_HANDLE_DBC,hConn,SQL_COMMIT);
SQLDisconnect(hConn);
SQLFreeHandle(SQL_HANDLE_DBC,hConn);
}
if(hEnv)
SQLFreeHandle(SQL_HANDLE_ENV,hEnv);
MessageBox(hWinMain,TEXT("已成功與資料庫斷開連接!"),TEXT("提示...."),0);
break;
case IDOK:
GetDlgItemText(hwnd,IDC_EDIT2,(char *)number,sizeof(number));
GetDlgItemText(hwnd,IDC_EDIT3,(char *)branch,sizeof(branch));
GetDlgItemText(hwnd,IDC_EDIT4,(char *)money,sizeof(money));
size1=sizeof(number);
size2=sizeof(branch);
size3=sizeof(money);
ax=SQLAllocHandle(SQL_HANDLE_STMT,hConn,&hStmt1);
if(ax!=SQL_SUCCESS && ax!=SQL_SUCCESS_WITH_INFO)
return 0;
SQLSetStmtAttr(hStmt1,SQL_ATTR_CURSOR_TYPE,(void *)SQL_CURSOR_STATIC,0);
SQLPrepare(hStmt1,szSQL,sizeof(szSQL));
SQLBindParameter(hStmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,50,0,number,10,&size1);
SQLBindParameter(hStmt1,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,50,0,branch,10,&size2);
SQLBindParameter(hStmt1,3,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,50,0,money,10,&size3);
SQLExecute(hStmt1);
MessageBox(hWinMain,TEXT("已成功添加一條記錄!"),TEXT("提示...."),0);
SQLFreeHandle(SQL_HANDLE_STMT,hStmt1);
break;
}
case WM_INITDIALOG:
hWinMain=hwnd;return true;break;
case WM_CLOSE:
EndDialog(hwnd,0);
return true;break;
}
return false;

}
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
DialogBoxParam (hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, MainDlg, NULL);
return 0;
}
//Driver={SQL Server};Server=伺服器名;Database=eeqt(文件名)
//insert into account values(520,'中國銀行',30000)

㈢ C/S模式,C#如何遠程連接sql2008資料庫

在資料庫連接字元串中使用外網的網址即可
//通過IP地址連接,必需確保SQL伺服器開啟1433埠和檢查SQL網路連接啟用TCP/IP協議
string serverInfo = string.Format("Data Source={0},1433;Network Library=DBMSSOCN;Initial Catalog=", serverIP);
string pwd = ";User ID=xxx;PWD=xxx";
string connString = string.Format("{0}{1}{2}", serverInfo, "資料庫名稱", pwd);

㈣ 怎樣用c、c++語言連接sql server 2008 r2,

從根本上來說,需要使用SQL提供的SDK,即「開發工具箱」,因為只有SQL自己才知道該如何與其資料庫驅動程序打交道,不過現在有一些與具體的資料庫引擎無關的中間SDK可用,比如微軟的ODBC和ADO等,使用它們可以連接任何支持它們的資料庫引擎,而不必關心資料庫引擎是SQL還是Oracle。

㈤ c#怎麼和sql資料庫連接

1、打開Visual Studio 2008工具,點擊文件菜單,選擇新建下面的項目選項,如下圖所示。

㈥ 如何連接sql server 2008資料庫

有兩種方法. 一種是: _ConnectionPtr pMyConnect=NULL; pMyConnect.CreateInstance(__uuidof(Connection))); _bstr_t strConnect="Provider=SQLOLEDB; Server=server_name;Database=database_name; uid=user_name; pwd=password;"; pMyConnect->Open(strConnect,"","",NULL); 也可以用: string ConnectionString = "Provider=SQLOLEDB;server=(local);database=databaseName"; m_pConnection->ConnectionString = ConnectionString.c_str(); m_pConnection->Open("", user, password, adConnectUnspecified);

㈦ Visual C++如何連接SQL Server 2008 資料庫

用ADO方式連接的話,可以分四個步驟:

1、添加對ADO的支持;

2、創建一個數據源連接;

3、對數據源中的資料庫進行操作;

4、關閉數據源。

代碼如下所示:

//TestADOSql.cpp:定義控制台應用程序的入口點。
//

#include"stdafx.h"
#include"iostream"
#include"string"
#include"vector"
//步驟1:添加對ADO的支持
#import"C:.dll"no_namespacerename("EOF","adoEOF")
usingnamespacestd;

int_tmain(intargc,_TCHAR*argv[])
{
CoInitialize(NULL);//初始化COM環境
_ConnectionPtrpMyConnect(__uuidof(Connection));//定義連接對象並實例化對象
_RecordsetPtrpRst(__uuidof(Recordset));//定義記錄集對象並實例化對象
try
{
//步驟2:創建數據源連接
/*打開資料庫「SQLServer」,這里需要根據自己PC的資料庫的情況*/
pMyConnect->Open("Provider=SQLOLEDB;Server=.;Database=AIS2;uid=sa;pwd=;","","",adModeUnknown);
}
catch(_com_error&e)
{
cout<<"Initiatefailed!"<<endl;
cout<<e.Description()<<endl;
cout<<e.HelpFile()<<endl;
return0;
}
cout<<"Connectsucceed!"<<endl;

//步驟3:對數據源中的資料庫/表進行操作
try
{
pRst=pMyConnect->Execute("select*fromgendat",NULL,adCmdText);//執行SQL:select*fromgendat
if(!pRst->BOF)
{
pRst->MoveFirst();
}
else
{
cout<<"Dataisempty!"<<endl;
return0;
}
vector<_bstr_t>column_name;

/*存儲表的所有列名,顯示表的列名*/
for(inti=0;i<pRst->Fields->GetCount();i++)
{
cout<<pRst->Fields->GetItem(_variant_t((long)i))->Name<<"";
column_name.push_back(pRst->Fields->GetItem(_variant_t((long)i))->Name);
}
cout<<endl;

/*對表進行遍歷訪問,顯示表中每一行的內容*/
while(!pRst->adoEOF)
{
vector<_bstr_t>::iteratoriter=column_name.begin();
for(iter;iter!=column_name.end();iter++)
{
if(pRst->GetCollect(*iter).vt!=VT_NULL)
{
cout<<(_bstr_t)pRst->GetCollect(*iter)<<"";
}
else
{
cout<<"NULL"<<endl;
}
}
pRst->MoveNext();
cout<<endl;
}
}
catch(_com_error&e)
{
cout<<e.Description()<<endl;
cout<<e.HelpFile()<<endl;
return0;
}

//步驟4:關閉數據源
/*關閉資料庫並釋放指針*/
try
{
pRst->Close();//關閉記錄集
pMyConnect->Close();//關閉資料庫
pRst.Release();//釋放記錄集對象指針
pMyConnect.Release();//釋放連接對象指針
}
catch(_com_error&e)
{
cout<<e.Description()<<endl;
cout<<e.HelpFile()<<endl;
return0;
}
CoUninitialize();//釋放COM環境
return0;
}

㈧ 怎麼連接sql server 2008

打開sql2008,使用windows身份登錄
SQL Server 2008 R2如何開啟資料庫的遠程連接
SQL Server 2008 R2如何開啟資料庫的遠程連接
2
登錄後,右鍵選擇「屬性」。左側選擇「安全性」,選中右側的「SQL Server 和 Windows 身份驗證模式」以啟用混合登錄模式
SQL Server 2008 R2如何開啟資料庫的遠程連接
SQL Server 2008 R2如何開啟資料庫的遠程連接
3
選擇「連接」,勾選「允許遠程連接此伺服器」,然後點「確定」
SQL Server 2008 R2如何開啟資料庫的遠程連接
展開「安全性」,「登錄名」;「sa」,右鍵選擇「屬性」
SQL Server 2008 R2如何開啟資料庫的遠程連接
左側選擇「常規」,右側選擇「SQL Server 身份驗證」,並設置密碼
SQL Server 2008 R2如何開啟資料庫的遠程連接
右擊資料庫選擇「方面」
SQL Server 2008 R2如何開啟資料庫的遠程連接
在右側的方面下拉框中選擇「伺服器配置」;將「RemoteAccessEnabled」屬性設為「True」,點「確定」
SQL Server 2008 R2如何開啟資料庫的遠程連接
至此SSMS已設置完畢,先退出,再用sa登錄,成功即表示sa帳戶已經啟用
SQL Server 2008 R2如何開啟資料庫的遠程連接
打開sql server配置管理器
SQL Server 2008 R2如何開啟資料庫的遠程連接
下面開始配置SSCM,選中左側的「SQL Server服務」,確保右側的「SQL Server」以及「SQL Server Browser」正在運行
SQL Server 2008 R2如何開啟資料庫的遠程連接
在左則選擇sql server網路配置節點下的sqlexpress的協議,在右側的TCP/IP默認是「否」,右鍵啟用或者雙擊打開設置面板將其修改為「是」
SQL Server 2008 R2如何開啟資料庫的遠程連接
SQL Server 2008 R2如何開啟資料庫的遠程連接
選擇「IP 地址」選項卡,設置TCP的埠為「1433」
SQL Server 2008 R2如何開啟資料庫的遠程連接
將"客戶端協議"的"TCP/IP"也修改為「Enabled」
配置完成,重新啟動SQL Server 2008。此時應該可以使用了,但是還是要確認一下防火牆。打開防火牆設置。將SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允許的列表中。

㈨ c十十關聯sql2008的方法

我是這樣用的 全拷下來就可以了

CString SQLCONNSTRING = "Provider=SQLOLEDB.1;Server=.\\sql2008;DATABASE=sdf0;UID=sa;PWD=sadf";
struct StructSqlPara
{
_bstr_t Name;
DataTypeEnum Type;
ParameterDirectionEnum Direction;
long size;
_variant_t value;
};
struct SqlValue
{
char* ColumnName;
_variant_t Value;
};
char* GetSC(char* sroomno)
{
char sc[10];
char errMsg[200],xtcs1[20],temp[5];
CString strcmd;
strcmd.Format("SELECT right('00'+cast(id as varchar(2)),2)+ right(lcqy,2)as sc FROM ROOMINFO WHERE ROOMNO='%s'",sroomno);
char cmdText[200];
int isc;
strcpy(cmdText,strcmd);
SqlValue sqlvalue[1];
sqlvalue[0].ColumnName="sc";

GetSql_ByColumn(cmdText,sqlvalue,1,errMsg);
strcpy(sc ,(CString)sqlvalue[0].Value.bstrVal);
return sc;
}
void GetSql_ByColumn(char *cmdText,SqlValue* sqlvalue,int colCount,char* errMsg)
{
CoInitialize(NULL);
_ConnectionPtr mConn;
_RecordsetPtr mRs;
HRESULT hr;
CString sResult;
try
{
hr=mConn.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
mConn->Open((_bstr_t)SQLCONNSTRING,"","",adModeUnknown);
_CommandPtr m_pCommand;
m_pCommand.CreateInstance("ADODB.Command");
_variant_t vNULL;
vNULL.vt = VT_ERROR;
vNULL.scode = DISP_E_PARAMNOTFOUND;
m_pCommand->ActiveConnection = mConn;
m_pCommand->CommandText = cmdText;
mRs = m_pCommand->Execute(&vNULL,&vNULL,adCmdText);
//mRs->MoveFirst();
for(;!mRs->adoEOF;mRs->MoveNext())
{
for(int j=0;j<=colCount-1;j++)sqlvalue[j].Value = mRs->GetCollect(sqlvalue[j].ColumnName);
}
}
}
catch(_com_error e)
{
CString errorMsg;
errorMsg.Format("GetSql_ByColumn:%s",e.ErrorMessage());
Output(errorMsg);
}
mConn->Close();
}

㈩ C# C/S系統,客戶端如何連接資料庫 sql server2008

使用連接語句就行了

SqlConnection con = new SqlConnection("Data Source=資料庫地址(本地用.);Initial Catalog=資料庫名;Integrated Security=True");
con.Open();

對了 要加命名空間using System.Data.SqlClient;