【发布时间】:2018-05-15 15:08:44
【问题描述】:
我正在使用 iSQL 执行 sql 文件的 uDeploy 上创建此进程。我的问题是我必须在过程中设置服务器和数据库名称。
在 SQL 文件中 - 我们可能需要使用其他数据库,因此它必须在文件中包含 USE DBNAME GO。
但是,它没有在 USE 语句之后到达/执行更新语句。
是否有任何与 sybase、isql 相关的东西不允许这样做? 只能从 isql 执行一条语句吗?
正在运行的典型 linux cmd 是
sybase.sh; isql -U username -P **** -S servername:port -D dbname -X -i sqlfile.sql
SQL 文件示例:
USE dbname
go
update table set field = 'date' where field1 ='blahblah' and field2 ='blah'
go
编辑:
这可能是因为在命令中设置了 DBNAME。谁能确认一下?
【问题讨论】:
-
一个表有列,而不是字段。
-
好吧 - 错误的词,但这并没有增加解决方案。无论如何,由于在命令 probs 中设置了 hte dbname,还没有看到有人试图在其中更改 db,所以无法确定。
-
如果您使用一些示例数据库名称更新您的示例会有所帮助;照原样,
dbname==dbname,因此两个示例都应该在名为dbname的数据库中运行您的查询……假设您的登录名可以访问名为dbname的数据库;我假设你有不同命名的数据库......在这种情况下,我已经解释了一个可能的问题(见我的回答 - 下文)