1)DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问
解决办法:
1、打开SQL Server Configuration Manager -> SQL Server2008 网络配置-> MSSQLSERVER的协议->TCP/IP
2、右键单击启动TCP/IP
3、双击进入属性,把IP地址中的IP all中的TCP端口设置为1433
4、重新启动SQL Server 2008服务
2)SQL Server ODBC数据源 连接失败问题 无效的连接
连接失败:
SQLState:'01000'
SQL Server 错误:14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen(Invalid Instance()).
连接失败:
SQLState:'08001'
SQL Server 错误:14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]无效的连接.
解决方式:
启动服务:SQL Server Browser和SQL Server VSS Writer
(3)
_ConnectionPtr:是vc用ADO开发数据库时的连接
_RecordsetPtr:是vc用ADO开发数据库时的纪录集
CRecordset:是vc用ODBC开发数据库的纪录集
CDatabase:是vc用ODBC开发数据库的连接
(4安装或卸载SQL Server遇到错误提示:以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机(安装程序支持规则)。
解决办法:
1、在开始->运行中输入regedit(注册表编辑器)
2、到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
3、在右边窗口右击PendingFileRenameOperations,选择删除,然后确认。
4、重新安装,问题解决(如果没解决就是别的什么问题了)。
(5)此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。
请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1。Visual Studio SP1 可在http://go.microsoft.com/fwlink/?LinkId=159627 找到。
(6)SQL 导出数据库时,要在任务->分离里面将数据库分离,然后再将.mdf;.ldf文件copy给别人使用,不然直接将没有分离的数据库给别人使用,会出现附加数据时,报错:
(7)卸载sql 2008 时,提示错误:
SQL Server 安装程序失败。SQL Server 安装程序遇到以下错误:
在创建窗口句柄之前,不能在控件上调用InVoke或BeginInVoke。。
解决方法和第4条类似!
(8)性能计数器注册表配置单元一致性 失败
http://www.cnblogs.com/bigboo/archive/2008/09/30/1302483.html
(9)SQL 查询分析器如何注释代码
当行 --
多行 /* */
(10)如何获取SQL 2008 数据库中的数据,转换成CString类型;
首先将 _variant_t 类型的变量,转换成字符串,
_variant_t var;
CString str; //转换以后的字符串
//以下代码演示如何转换为C标准字符串型
if (var.vt == VT_I4)
{
long lNum;
char szCh[21];
str=var.bstrVal;
WideCharToMultiByte
(CP_ACP, 0, var.bstrVal, -1,
szCh, sizeof(szCh), NULL, NULL);
}
//以下代码演示如何转换成逻辑型
if( var.vt == VT_BOOL)
{
BOOL bVar;
lNum=var.lVal;
bVar= var.boolVar==0? FALSE : TRUE;
}
//以下代码演示为其余类型(补充)
switch(var.vt)
{
case VT_BSTR: //var is BSTR type
str=var.bstrVal;
break;
case VT_I2: //var is short int type
str.Format("%d",(int)var.iVal);
break;
case VT_I4: //var is long int type
str.Format("%d",var.lVal);
break;
case VT_R4: //var is float type
str.Format("%10.6f",(double)var.fltVal);
break;
case VT_R8: //var is double type
str.Format("%10.6f",var.dblVal);
break;
case VT_CY: //var is CY type
str=COleCurrency(var).Format();
break;
case VT_DATE: //var is DATE type
str=COleDateTime(var).Format();
break;
case VT_BOOL: //var is VARIANT_BOOL
str= (var.boolVal==0) ?"FALSE": "TRUE";
break;
default:
str.Format("Unk type %d\n",var.vt);
TRACE("Unknown type %d\n",var.vt);
}
具体举例如下:
_variant_t var = m_pRecordOut->GetCollect((_variant_t)strCol); //strCol 为数据库中的一个字段
if (var.vt==VT_DATE)
{
CString str=COleDateTime(var).Format();
}
(11)DateTime和CString相互转换
CString strCString;
strCString=Y+"-"+M+"-"+D+" "+H+":"+m+":"+S;
COleVariant vtime(strCString);
vtime.ChangeType(VT_DATE);
COleDateTime datetime=vtime;
COleDateTime datetime=COleDateTime::GetCurrentTime();
CString tempTime;
tempTime=datetime.Format("%Y-%m-%d %H:%M:%S");
(12)datatime 类型模糊查询
SELECT * FROM T WHERE Convert(varchar,sendTime,120) LIKE '2012-08-18 14:49%'
其中:T为数据库的表,sendTime是数据库中的时间字段的字段名。这样就可以查询2012-08-18 14:49的记录。
(13) 登陆时出现:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
首先选中服务器(右键)->属性->安全性->服务器身份验证修改为"SQL SERVER和WINDOWS身份验证模式"
其次展开服务器上的"安全性"->登陆名->选中SA登陆帐号(右键)->状态->登陆修改为启用
(14)Microsoft SQL Server错误233的解决办法:
已成功与服务器建立连接,但是在登录过程中发生错误。(provider:命名管道提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)
解决方法:打开“开始—所有程序—Microsoft SQL Server 2005 —配置工具—SQL Server 配置管理器”,在弹出的窗体中,找到“SQL Server 2005 网络配置”,把“MSSQLSERVER的协议”下的“Named Pipes”和“TCP/IP”启用,然后重新启动SQL Server 即可。