软件在用户那里安装的时候如何将程序中已经在用的存储过程部署到用户的SQLServer中?急...谢谢

解决方案 »

  1.   

    直接在数据库中添加   是不是在用户SQLServer 中打开查询分析器 在里面添加,然后执行?还是有更好的方法?谢谢
      

  2.   

    Option   Explicit   
        
      '直接新建   
      Sub   test1()   
              Dim   Db   As   New   ADODB.Connection   
              Dim   Sql$   
                
              '打开数据库   
              Db.Open   "Provider=SQLOLEDB.1;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=Northwind;Data   Source=lyt"   
                
              '判断是否存在存储过程   
              If   Db.Execute("select   *   from   sysobjects   where   id=object_id(N'Sto_A1')   and   objectproperty(id,N'IsProcedure')=1").EOF   Then   
                      '不存在,就新建   
                      Sql   =   "create   Procedure   Sto_A1"   &   vbCrLf   &   _   
                                  "as"   &   vbCrLf   &   _   
                                  "select   *   from   syscolumns"   
                      Db.Execute   Sql   
              End   If   
      End   Sub   
        
      '在出错时新建   
      Sub   test2()   
              Dim   Db   As   New   ADODB.Connection   
                
              Db.Open   "Provider=SQLOLEDB.1;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=Northwind;Data   Source=lyt"   
                
              On   Error   GoTo   lbErr   
                
              Db.Execute   ("sto_a1")   
              Exit   Sub   
      lbErr:   
              If   Err   =   -2147217900   Then   
                      '不存在时   
                      test1   
              Else   
                      MsgBox   "错误:"   &   Error   &   vbCrLf   &   "错误号:"   &   Err   
                      '你的第二个问题,可以在这里通过err来获得错误号   
              End   If   
      End   Sub   
      

  3.   

    SQL Server 有一个命令行工具,用下面的命令行就可以执行一个 .sql 文件。
    [code=bat]osql -n -d 数据库名称 -U 用户名 -P 密码 -i 文件名[/code]
    你可以写个 .bat 文件来调用所有的 .sql 文件。
      

  4.   

    SQL Server 2000基础教程——创建存储过程
    http://www.iforchina.com/show.aspx?id=2708&cid=143
      

  5.   

    osql -n -d mydb -U sa -P 1234 -i a.sql
    osql -n -d mydb -U sa -P 1234 -i b.sql
    osql -n -d mydb -U sa -P 1234 -i c.sql
    ...