我用Dephi做了一个程序,请教如何把数据库做成安装文件,不用手工建库,初始等操作,
2、怎样用SQL建立SQLSERVER的用户,不是数据库的用户

解决方案 »

  1.   

    1.使用数据库的脚本导出就不用手工建库
    2.什么是SQLSERVER的用户不是数据库的用户?
      

  2.   

    最好將generate SQL script數據庫中所有對象的所有屬性,在程序中首先建立數據庫,然後執行這個Script
      

  3.   

    1、让用户自行安装,而且这个用户笨笨的,只会setup,不懂打开查询分析器运行脚本的
    2、建立相当SA的账号,可以登录到SQLSERVER的用户
      

  4.   

    isql工具
    查看sql server的帮助文档
      

  5.   

    这样,你先做好数据的导出文件,就是将一个准备好的数据库先从你的SQL SERVER中备份出来,然后自己写一个数据库的备份恢复程序,再自己制止SETUP安装程序(可以用INSTALL SHIELD)。不过一定要用户自己装SQL SERVER 啊!用户可以再安装完SETUP后,执行你的数据库备份恢复程序,就可以运行系统了。
      

  6.   

    首先,你将你的数据库使用企业管理器分离出来,注意是分离操作,然后用delphi做一个程序,在这个程序中让用户自已选择数据库,然后执行一个sql语句,将数据库附加到用户的服务器中,sql语句大致如下:
    Exec sp_attach_db '数据库名',
        '数据库文件路径\数据库文件名.mdf','数据库文件路径\数据库文件名.ldf'
      

  7.   

    是让用户自已选择服务器,用sa帐号登录,将数据库附加到用户的服务器中,sql语句大致如下:
    Exec sp_attach_db '数据库名',
        '数据库文件路径\数据库文件名.mdf','数据库文件路径\数据库文件名.ldf'
      

  8.   

    T0: jdxjf 给分了下边是我的代码
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls,DB, ADODB,IdGlobal;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Edit2: TEdit;
        ProgressBar1: TProgressBar;
        Button1: TButton;
        Button2: TButton;
        Label1: TLabel;
        Label2: TLabel;
        Label3: TLabel;
        ADOConnection1: TADOConnection;
        ADOQuery1: TADOQuery;
        ComboBox1: TEdit;    procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    var
        strConn:string;
    begin
         strConn:='Provider=SQLOLEDB.1;Persist Security Info=true;Data Source='+trim(ComboBox1.Text)+';User ID='+trim(Edit1.Text)+';Password='+Edit2.Text;
         ADOConnection1.ConnectionTimeout:=5;
         ADOConnection1.ConnectionString:=strConn;
         try
             ADOConnection1.Connected:=true;
         except
             ShowMessage('连接数据库出现错误!');
         end;
         ProgressBar1.StepBy(20);
         try
            begin
                if not DirectoryExists('D:\NetMainTence_DB') then
                   CreateDir('D:\NetMainTence_DB');
                CopyFileTo(ExtractFilePath(Application.Exename)+'NetMaintence.mdf','D:\NetMainTence_DB\NetMaintence.mdf');
                CopyFileTo(ExtractFilePath(Application.Exename)+'NetMaintence.ldf','D:\NetMainTence_DB\NetMaintence.ldf');
                ProgressBar1.StepBy(30);
                ADOQuery1.SQL.Clear;
                ADOQuery1.SQL.Add('exec sp_attach_db @dbname=N''netmaintence'',@filename1=N''D:\NetMainTence_DB\NetMaintence.mdf'',@filename2=N''D:\NetMainTence_DB\NetMaintence.ldf''');
                ADOQuery1.ExecSQL;
            end;
         except
             begin
                ShowMessage('安装数据库出现错误!');
                exit;
            end;
         end;
         ProgressBar1.StepBy(50);
         ShowMessage('安装成功!');end;procedure TForm1.Button2Click(Sender: TObject);
    begin
        close
    end;end.