使用SQLDMO控制 SQL Server[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 bohut 的 blog

微软为外部程序的ms sql server服务访问提供了功能强大的com接口,通过这些接口,可以不费吹灰之力就可以方便的访问sql的服务。

第一步:在ms sql server的安装目录下面找到在sqldmo.rll文件,然后


#import "sqldmo.rll" no_namespace



这样就生产了sqldmo.tlhsqldmo.tli文件,里面包含了sqlcom接口的定义和实现。


第二步:就是具体的实现了。



先来一个启动sql server服务


bool startsqlserver()
{
//先初始化com
if (failed(coinitialize(null)))
{
afxmessagebox("com初始化错误!");
return false;
}
//定义一个
sql server的对象指针
_sqlserverptr spsqlserver;
//标准方法,建立实例
if (failed(spsqlserver.createinstance(__uuidof(sqlserver))))
{
afxmessagebox("无法建立sql对象!
");
return false;
}


try
{
//这里设置连接
sql的一些参数
//简单。设置login超时
spsqlserver->putlogintimeout(10);
//随便起个名字好啦,管不着我啦
spsqlserver->putapplicationname("myappname");
spsqlserver->puthostname("myhostname");
//
网络数据packet的大小
spsqlserver->putnetpacketsize(1024);
/*
该建立连接了,为什么呢??服务还没有启动啊?怎么连接呢?不是傻了吗?道理跟你慢慢跟你说啦:这是试探一下sql server是不是已经启动了,如果它已经启动,那么我们就不用再次启动了(再次启动也是错误:服务器的实例已经运行中),呵呵,已经启动了,干吗还要我写代码启动它啊?所以,如果sql server如果没有启动(当然其他原因也会触发异常),下面的异常处理代码就会执行到,我们将在异常处理中执行启动
*/
cstring strserver”(local)”;/*连接启动的sql 的服务器名(这里是本地sql server 服务,记住将本地的sql server服务停掉,然后测试啊
)*/
cstring strusername(“sa”); //连接启动的用户名,也可以使用信任连接,不用提供用户名和密码,请参考msdn
cstring strpassword””
;//就是密码啦
spsqlserver->connect(_variant_t(strserver),_variant_t(strusername),_variant_t());
}
catch(_com_error pce)
{

本文关键:使用SQLDMO控制 SQL Server
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top