在 Windows 桌面上,单击“开始”,然后单击“运行”。
在“打开”框中,键入 MMC,然后单击“确定”。
在“控制台”窗口中,单击菜单栏上的“文件”,然后单击“添加/删除管理单元”。
在“添加/删除管理单元”窗口,单击“添加”。
在“添加独立管理单元”窗口,从管理单元列表中选择“组件服务”,然后单击“添加”。
单击“关闭”以关闭“添加独立管理单元”窗口,然后单击“确定”以关闭“添加/删除管理单元”窗口。
在“控制台根节点\组件服务”窗口,展开“组件服务”树。这就是当 COM+ 出现问题时,错误消息可能发生的地方。
再次运行 SQL Server 2008 安装程序。如果收到错误消息,请重新安装 COM+。
重新安装 COM+--------------------------------------------------------------------------------
从控制面板的“添加或删除程序”中,单击“添加/删除 Windows 组件”。
在“Windows 组件向导”中,不对选择做任何更改,单击“下一步”。
一直单击以完成向导,然后再次运行 SQL Server 2008安装程序。
#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;