1

我刚刚在 Windows Server 2008 R2 上安装了 Microsoft SQL Server 2012,并且正在使用 Microsoft JDBC Driver 4.0 for SQL Server (sqljdbc4.jar v4.0.2206.100) 远程访问数据库。

我尝试了许多变体并进行了广泛搜索,但由于某种原因,序列不断增加 2,而不是 1。

例子:

CREATE SEQUENCE MYSEQ START WITH 1 INCREMENT BY 1 MINVALUE 1 MAXVALUE 999 CYCLE
SELECT NEXT VALUE FOR MYSEQ - this actually returns 2, not 1 - but that's fine
SELECT NEXT VALUE FOR MYSEQ - this returns 4, not 3 - that's a problem
SELECT NEXT VALUE FOR MYSEQ - this returns 6, not 4 - that's a problem
etc

START WITH 的值是什么并不重要。

如果我改为使用 INCREMENT BY 2,它会一直递增 4。

有任何想法吗?谢谢

4

1 回答 1

1

我使用的 JDBC 字符串是:

jdbc:sqlserver://[host]:[port];DatabaseName=[name];selectMethod=cursor;sendString‌gParametersAsUnicode=false

当我将字符串更改为:

jdbc:sqlserver://[host]:[port];DatabaseName=[name]

返回的序列符合预期:1、2、3等

于 2013-08-06T09:58:20.330 回答