亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“tempdb”數據庫中的多語句事務中不允許使用“CREATE TABLE”命令

“tempdb”數據庫中的多語句事務中不允許使用“CREATE TABLE”命令

白豬掌柜的 2023-06-21 16:36:43
我正在開發 java 項目,其中使用Sybase 和 Apache Metamodel來獲取表數據及其信息?,F在“ ddl in tran ”選項為 true,但當我使用 Apache Metamodel 獲取列詳細信息時,它仍然給我錯誤:com.sybase.jdbc4.jdbc.SybSQLException:“tempdb”數據庫中的多語句事務中不允許使用“CREATE TABLE”命令。我在 Windows 10 上安裝了 Sybase ASE 15.5。
查看完整描述

2 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

“ddl in tran”選項在臨時數據庫中也需要“打開”。系統管理員或具有 sa_role 的人可以這樣做:


1> use master

2> go

1> sp_dboption tempdb, 'ddl in tran', 'true'

2> go

Warning: Attempting to change database options for a temporary database. Database options must be kept consistent across all temporary databases.

Database option 'ddl in tran' turned ON for database 'tempdb'.

Running CHECKPOINT on database 'tempdb' for option 'ddl in tran' to take effect.

(return status = 0)

正如警告所暗示的那樣,如果您有多個臨時數據庫,這需要在所有臨時數據庫中保持一致。命令完成后,可以使用 sp_helpdb 檢查選項:


1> sp_helpdb

2> go


[stuff deleted]


 tempdb                            104.0 MB              sa             2      Aug 05, 2019             no_recovery                     0               NULL        

 select into/bulkcopy/pllsort, trunc log on chkpt, ddl in tran, mixed log and data, allow wide dol rows 

下面是在事務中創建表的示例:


1> use tempdb

2> go

1> begin tran

2> go

1> create table foo ( k int not null, value varchar(25) null) 

2> go

1> commit

2> go

1> 


查看完整回答
反對 回復 2023-06-21
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

可以使用 (sp_dboption tempdb, 'ddl in tran', 'true'),但將其設置為 true 并不是一個好的做法,它可能會導致 tempdb 中的并發問題。

使用該選項必須小心。


查看完整回答
反對 回復 2023-06-21
  • 2 回答
  • 0 關注
  • 253 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號