在SQLServer下整个数据库实体生成的SQL脚本,在delphi中如何执行?最后60分,拼了!拼了!!
我试过了,如果纯粹的create table .......去掉放到GO可以,但是把所有的脚本,一起执行就不行
请教一下有做过的大哥指点一下!!!

解决方案 »

  1.   

    把你所有的SQLServer脚本生成一个库
    再附加上去不就ok了
      

  2.   

    to: cdsgajxlp(起名很难) 
    我一点头绪都没有
      

  3.   

    哥们,用osql命令,即可摆平!很好用的
      

  4.   

    用osql命令,听说过,但不会用阿,大哥
      

  5.   

    osql -USQL登陆名 -P密码
      

  6.   

    osql 工具允许输入T_SQL语句,系统过程和文本文件,osql 用ODBC与服务器通信
    The osql utility allows you to enter Transact-SQL statements, system procedures, and script files. This utility uses ODBC to communicate with the server.语法:
    osql
        [-?] |
        [-L] |
        [
            {
                {-U login_id [-P password]}
                | E        }
            [-S server_name[\instance_name]] [-H wksta_name] [-d db_name]
            [-l time_out] [-t time_out] [-h headers]
            [-s col_separator] [-w column_width] [-a packet_size]
            [-e] [-I] [-D data_source_name]
            [-c cmd_end] [-q "query"] [-Q "query"]
            [-n] [-m error_level] [-r {0 | 1}]
            [-i input_file] [-o output_file] [-p]
            [-b] [-u] [-R] [-O]
        ]
      

  7.   

    “开始”-》“运行”-》cmd-》osql -Usa -Pxx
      

  8.   

    我也試過,我的做法是,每句SQL語句用GO(注意大小寫)
    然後每遇到一個GO,就截斷,然後執行
    再找下一個GO,如此即可但在執行的時候,首先要保證在SQL查詢分析器中能執行正確最為頭痛的是,建立的一個表的外鍵在一個還沒有創建的表中,
    這樣會導致創建失敗
      

  9.   

    winexec('osql -U sa -P -S servername -i f:\batch.sql',sw_hide);
    你的语句写在脚本里面即可,如果参数 -i 不行,换 -f 试一下,我也记不清了