如果你用mssql比较麻烦,且涉及版权问题,建议使用msde。msde 相当于 简版的sql server, 没有 enterprice manager, isqlw, 可以使用 osql,isql 与数据库关联,也可以在有 enterprice manager 的机器上注册然后操作。 msde 可以作为一个小型的数据库,比着access等有很大的优点,支持大部分的sql server 功能。microsoft 建议客户端超过5个上,是用高级的 sql server 版本,这意味着 5个左右的同时在线操作没有什么问题。
   在 sql server 的任何一个版本里都有,在 office 2000 以上的版本中也有,也就是意味着你有一套office ,就有使用 他的权利。

解决方案 »

  1.   

    MSDE:msde可以很容易的和自己的程序发布。
    msde在sql server的msde目录中
    主要有两种方法,
    简单方法是使用setup.exe,复杂方法是实用\msde\msm下的合并模块,可以将其无缝的集成到自己的msi安装程序里,不过很麻烦。第一种方法主要是设置setup.ini和setup.exe的命令行参数。
    例如:1 [Options]
    2 TARGETDIR="D:\Setup\msde\binn"
    3 DATADIR="D:\Setup\msde\data"
    4 INSTANCENAME="我的实例名称"       
    5 SECURITYMODE="SQL"
    6 USEDEFAULTSAPWD注意:
    4 安装命名实例可以避免和用户计算机上可能存在的sql server发生冲突
    5 验证模式为混合模式
    6 sa密码为空使用:F:\MSDE\SETUP /i F:\MSDE\setup\sqlrunXX.msi 
    就可以删除其他15个 sqlrunXX.msi了
      

  2.   

    可以用MICROSOFT的VISUAL INSTALLER, 它把MSDE的安装无缝集成到你安装程序中,特别是前台开发用VB时,做起来更方便.
      

  3.   

    to 大力:
    根据你讲的俺试了一下,可以的,好像生成的目录中自动会加上MSSQL,
    例如上面的MSDEMSSQL,起实例名称也会变成MSDEMSSQL$实例名称,然后我
    想到了怎么附加数据库啊(在WINDOWS服务里面启动了SQLAGENT时,汗~)
    还有就是我是直接点SETUP.EXE就安装了,没有用F:\MSDE\SETUP /i F:\MSDE\setup\sqlrun01.msi,因为我试过了用这个CMD命令安装后好像一样,
    还试过了F:\MSDE\SETUP /i F:\MSDE\setup\sqlrun16.msi安装后跟sqlrun01.msi
    好像没区别啊,这16个是不是一样的阿?
      

  4.   

    to  dearwader:
    能具体说的详细点吗,俺用的是installshield,
    没用过VISUAL INSTALLER,怎么样无缝集成啊
      

  5.   

    附加数据库可以放在你的程序第一次启动的时候进行.执行:
    sp_attach_db '数据库名','数据文件名.mdf','日志文件名.ldf'如果是从备份文件中恢复,可以用:
    restore database 数据库名 from disk='x:\备份文件'
      

  6.   

    to  zjcxc(邹建):
    救命啊,没有查询分析器怎么执行啊
      

  7.   

    先用SA连接上
    bool __fastcall TfrmAutoConfig::AppendDatabase()
    {
        bool bResult = true;
        bool bVar;    AnsiString sql,strMess;
        if(TestConnect->Connected )
          {
           try
           {
               ADOCommand1->Connection = TestConnect;
               sql = " EXEC sp_attach_db @dbname = N'" + m_sDatabaseName +"',";
               sql += " @filename1 = N'" + m_sCurrentPath + "\\" + m_sDBDataFileName + "',";
               sql += " @filename2 = N'" + m_sCurrentPath + "\\" + m_sDBLogFileName + "'";
               //sql += " @filename1 = replace(N'" + m_sCurrentPath + "\\" + m_sDBDataFileName + "','\\','\'),";
               //sql += " @filename2 = replace(N'" + m_sCurrentPath + "\\" + m_sDBLogFileName + "','\\','\')";
               ADOCommand1->CommandText = sql;// ->SQL->Clear();
               ADOCommand1->Prepared = true;
               ADOCommand1->Execute();          //strMess = " 数据库已成功添加到此数据库服务器上";
              //MessageBox(Handle,strMess.c_str(),"数据库添加成功!",MB_ICONINFORMATION|MB_OK);        }//end try()
            catch(...)
            {
              strMess = "安装数据库失败!";
              MessageBox(Handle,strMess.c_str(),"创建数据库",MB_ICONERROR|MB_OK);
              bResult = false;
            }//end catch(...)        bVar = CreateDBLoginName(m_sUserName,m_sPassword);
          }// if()    bResult = bVar&&bResult;
        return bResult;
    }
      

  8.   

    bool __fastcall TfrmAutoConfig::ConnectToSqlBySa()
    {
       bool bResult = true;
       AnsiString strConnectString;//   ,strHostName,strUserID,strPassWd;
       strConnectString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=" + m_sSaName + ";Data Source=" + m_sHostName;
       try
       {
           TestConnect->ConnectionString=strConnectString;
           TestConnect->Connected = true;
           //MessageBox(Handle,"       测试连接成功...\r现在可以添加顶天餐饮数据库到您的数据库服务器","----连接成功--->",MB_ICONINFORMATION|MB_OK);
       }
       catch(...)
       {
           MessageBox(Handle,"输入信息可能有误,测试连接失败..","连接失败",MB_ICONERROR|MB_OK);
           bResult = false;
       }
        return bResult;
    }
    //---------------------------------------------------------------------------
      

  9.   

    借用楼上的,先得用ADO连接上SQL数据库,因为你已经安装了MSDE,所以这时是可以连接的,连接的时候不指定数据库就行了.
    然后用其 Execute 方法就可以执行我给出的语句了.
      

  10.   

    导出数据库脚本和一些数据,增加建库的语句,存成文本文件,当然也可以加密,然后再做个批处理,只要客户装了sql server ,一切ok,你可以再安装程序中调用批处理,或者在程序第一次运行的时候检查数据库然后执行批处理。傻瓜都会建库了。:)