数据库是sqlserver,
我在开发程序的时候是使用sqlserver的“查询分析器”来执行了一个sql脚本来初始化的,创建了一堆表、视图、存储过程,插入了一些数据,这些表、视图和数据之间还有一些关系,现在我想把数据库的初始化工作做成一个模块,可以让程序和安装程序来调用,请问用什么方法可以实现?
我只有一种土方法,就是把脚本的每条语句都用ado来执行,但这实在太麻烦了,有几百项内容,
有没有简单一些的方法?

解决方案 »

  1.   

    不能一下执行所有的SQL语句吗?没试过
      

  2.   

    先创建数据库如:
    CString strSQL(_T(""));
    _ConnentionPrt conn;
    _CommandPrt    comm;
    strSQL.Format(_T("Provider = SQLOLEDB,SERVER= IP/名称,UID = UserID,PWD = Password"))
    HRESULT hr = conn.CreateInstance (__uuidof(Connection));
    hr = g_pConn->Open (_bstr_t(strSQL), "","",-1); 
    hr=comm.Create(__uuidof(Command));
    comm->ActionConnection = conn;
    comm->CmdText = _bstr_t(strSQL) ;//strSQL创建数据库和表格的语句
    /*strSQl 如下例
    创库 CREATE DATEBASE MyDB
    制表"CREATE TABLE MyDB.dbo.THistory ( CustomerID varchar(20) Not null,f_Year int default(2000),f_Month int default(1),constraint primary key (CustomerID))"*/
    comm->CmdType = adCmdText;
    comm.Execute(NULL,NULL,adCmdText);做其它的事,学一点SQL语法吧