关于命令行运行SQLServer查询分析器的问题!

gxingmin 2003-08-15 06:13:16
我有一个SQL脚本,其中有新建一个表,并向一个该表插入102条记录。
用图形界面的查询分析器运行完全正常。

但是用命令行的方式确只能向这个表中插入10来条记录,而且每次运行插入的记录条数还不完全一样。我的命令行是这样的,大家帮看看对不对:
isql -U sa -P -S Guoxl -d master -i test.sql

说明:其他诸如创建用户、建表(很多表)两者运行结果都正常,唯独插入不正常,是不是命令行运行太快了?
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxingmin 2003-08-17
  • 打赏
  • 举报
回复
为什么运行命令行执行脚本创建表所有字段都不能为空?而查询分析器执行脚本创建表只要字段没有指定not null,则可以为空呢?
gxingmin 2003-08-16
  • 打赏
  • 举报
回复
谢谢各位!
我找到原因了,因为我插入的记录里有给某个字段赋null值的,我改为''就没有问题了。

但是我不明白,我在上面Create Table这个表的时候,字段允许为null呀,而且查询分析器运行也完全正常,就是命令行不行,方式插入null的Insert语句执行都失败。

???
w_rose 2003-08-16
  • 打赏
  • 举报
回复
你可以试试在创建表的字段时给出DEFAULT值,这是可能就好了。

设计数据库最好能兼容多个常用客户端协议的数据库,这样在使用不同的语言、不同的协议时比较省心。

如果仅仅是“爱好”数据库程序,就不必如此。
w_rose 2003-08-16
  • 打赏
  • 举报
回复
isql可能使用ODBC协议,而查询分析器可能使用OLE,这些协议的客户端驱动程序的处理不同。

甚至使用ADO和使用ADO.NET的程序,也存在这样的问题。同一个SQL语句,并不一定“通用”。
handsomeduke 2003-08-15
  • 打赏
  • 举报
回复
在查询分析器中执行正常??那脚本应该没有问题,想不明白。关注
txlicenhe 2003-08-15
  • 打赏
  • 举报
回复
命令行是对的,查一下你的脚本test.sql吧。
pengdali 2003-08-15
  • 打赏
  • 举报
回复
是否有注释??

isql -U sa -P -S Guoxl -d master -i test.sql
------------------------^^^^^^^^^^库名对吗?

语句间有go吗?

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧