如题,这是个启动sqlserver的处理命令,很简单
直接打开运行就能正常启动,但是用程序调用就会调不对
批处理命令:
@echo off
D:\SQL\SQLServer\binn\sqlservr.exe -s 5555  -c
pause调用命令:shellexecute(form1.handle,'open',pchar('D:\SQL\SQLServer\binn\start.bat'),nil,'',SW_NORMAL);调试感觉是路径不对,出如下错误 :2008-06-20 10:09:05.03 server    Copyright (C) 1988-2000 Microsoft Corporation.
2008-06-20 10:09:05.03 server    保留所有权利。
2008-06-20 10:09:05.03 server    服务器进程 ID 是 656。
2008-06-20 10:09:05.06 server    将 SQL Server 消息记录在文件“D:\SQL\SQLServer\log\error.log”中。
2008-06-20 10:09:05.15 server    SQL Server 正在以优先级“normal”(已检测到 2 CPUs)启动。
2008-06-20 10:09:05.21 server    已为 thread 模式处理而配置了 SQL Server。
2008-06-20 10:09:05.21 server    使用 dynamic 锁分配。[500] 锁块,[1000] 锁所有者块。
2008-06-20 10:09:05.62 spid4     启动数据库“master”。
2008-06-20 10:09:06.15 server    正在使用“SSNETLIB.DLL”版本“8.0.2039”。
2008-06-20 10:09:06.15 spid5     启动数据库“model”。
2008-06-20 10:09:06.23 spid5     udopen: 创建/打开物理设备 .\..\data\model.mdf 时发生操作系统错误 3(系统找不到指定的路径。)。
2008-06-20 10:09:06.28 spid5     FCB::Open failed: 未能为虚拟设备号 (VDN) 1 打开设备 .\..\data\model.mdf。
2008-06-20 10:09:06.31 spid4     服务器名称是“NXF\5555”。
2008-06-20 10:09:06.31 spid4     启动数据库“msdb”。
2008-06-20 10:09:06.32 spid4     udopen: 创建/打开物理设备 .\..\data\msdbdata.mdf 时发生操作系统错误 3(系统找不到指定的路径。)。
2008-06-20 10:09:06.32 spid4     FCB::Open failed: 未能为虚拟设备号 (VDN) 1 打开设备 .\..\data\msdbdata.mdf。
2008-06-20 10:09:06.39 spid5     设备激活错误。物理文件名 '.\..\data\model.mdf' 可能有误。
2008-06-20 10:09:06.51 spid4     设备激活错误。物理文件名 '.\..\data\msdbdata.mdf' 可能有误。
2008-06-20 10:09:06.54 spid4     设备激活错误。物理文件名 '.\..\data\msdblog.ldf' 可能有误。
2008-06-20 10:09:06.54 spid5     设备激活错误。物理文件名 '.\..\data\modellog.ldf' 可能有误。
2008-06-20 10:09:06.64 spid5     由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'model'。详细信息请参阅 SQL Server 错误日志。

解决方案 »

  1.   

    设置一下默认的路径试试
    shellexecute(form1.handle,'open',pchar('D:\SQL\SQLServer\binn\start.bat'),nil,pChar('默认目录
    '),SW_NORMAL); 把 ‘默认目录’ 改成你运行批处理时的目录。
      

  2.   

    试试
    shellexecute(form1.handle,'open',pchar('start.bat'),nil,PChar('D:\SQL\SQLServer\binn\'),SW_NORMAL);shellexecute倒数第二个参数是路径名
      

  3.   

    呵呵
    完全正确
    多谢liangqingzhi、gzmhero 
      

  4.   

    还能问吗
    我这样运行了SQLSERVER
    怎么结束这个进程?