在資料庫裡面新建表後顯示物件名無效,但是在表中能看見,就是無法引用。(強迫症、看著下劃線是一排紅色的、不爽)。重啟sql服務也沒有用。
暴力解決方法::關閉sql管理器,再重新開啟。(紅色下劃線不見了、物件名無效也不見了)
下面是看到其他人遇見的問題及解決見解,給大家參考::
***表在伺服器上沒有建立,於是俺開啟 「sql查詢分析器」:
匯出建立***表的sql指令碼,如下:
create table [***] (
[id] [int] identity (1, 1) not null ,
[title] [nvarchar] (100) collate chinese_prc_ci_as not null ,
[kind] [nvarchar] (100) collate chinese_prc_ci_as not null ,
[content] [nvarchar] (1000) collate chinese_prc_ci_as not null ,
[keyword] [nvarchar] (50) collate chinese_prc_ci_as not null ,
[add_date] [datetime] null
) on [primary]
google上搜尋, 可能的原因是 資料庫所有者問題. 資料庫可以有不同的登陸帳戶,
而資料庫是可以隸屬於某個帳戶的, 於是問題就出來了.
假若在pubs庫中logina帳戶登陸並建立乙個x表, 然後loginb帳戶登陸並查詢x表
我勒你個去!~
以下省略n個
鬼知道剛才那個指令碼將表建立到那個使用者下了. 於是,聰明的我又開啟」企業管理器」,
選中表 匯出sql指令碼,這次出來的指令碼就帶上 所有者了:
create table [logina].[***] (
[id] [int] identity (1, 1) not null ,
[title] [nvarchar] (100) collate chinese_prc_ci_as not null ,
[kind] [nvarchar] (100) collate chinese_prc_ci_as not null ,
[content] [nvarchar] (1000) collate chinese_prc_ci_as not null ,
[keyword] [nvarchar] (50) collate chinese_prc_ci_as not null ,
[add_date] [datetime] null
) on [primary]
go 於是俺drop table 伺服器上的 *** 表,又執行了上面的指令碼.
再次重新整理, 娘西匹! 還是:物件名」***」無效.
我資料庫訪問層使用的是subsonic, 於是我就看了subsonic生成的**,發現有這樣
一行:schema.schemaname = @"dbo";
哇! 可俺資料庫連線字串中的登陸名不是這個玩意兒啊!
但是, 其他的表貌似查詢啥的都無問題??????????????????????????????
於是,俺在伺服器上執行的**中加了如下一行:
output q.buildsqlstatement();
我日,有門~!
因為生成的指令碼中,***表前加的所有者是」dbo」. 我靠~
再次, drop table ***, 然後:
create table [dbo].[***] (
[id] [int] identity (1, 1) not null ,
[title] [nvarchar] (100) collate chinese_prc_ci_as not null ,
[kind] [nvarchar] (100) collate chinese_prc_ci_as not null ,
[content] [nvarchar] (1000) collate chinese_prc_ci_as not null ,
[keyword] [nvarchar] (50) collate chinese_prc_ci_as not null ,
[add_date] [datetime] null
) on [primary]
go 再次重新整理, 可愛的小姑娘到底還是害羞的走了出來.~~~
總結:1,在真實的生產環境中,需要注意 表所有者的問題.
生成的指令碼使用的是 dbo. 為什麼? 鬼知道~~
資料庫高併發解決方法總結
資料庫高併發解決方法總結 2017年01月23日 10 33 23 乙個專案剛開始的時候是為了實現基本功能,隨著版本和功能的迭代,大資料和高併發成了軟體設計必須考慮的問題 本質很簡單,乙個是慢,乙個是等。兩者是相互關聯的,因為慢,所以要等,因為等,所以慢,解決了慢,也就解決了等,解決了等,也就解決了...
資料庫高併發解決方法總結
乙個專案剛開始的時候是為了實現基本功能,隨著版本和功能的迭代,大資料和高併發成了軟體設計必須考慮的問題 本質很簡單,乙個是慢,乙個是等。兩者是相互關聯的,因為慢,所以要等,因為等,所以慢,解決了慢,也就解決了等,解決了等,也就解決了慢。關鍵是如何解決慢和等,核心乙個是短,乙個是少,乙個是分流,最後乙...
Sql Server置疑資料庫解決方法
sql server置疑資料庫解決方法2007 12 27 09 34 方法一 現象 資料庫log日誌太大了,shrink不掉。於是想把資料庫檔案卸下來,刪除log,再附加上。附加失敗。提示錯誤 伺服器 訊息 1813,級別 16,狀態 2,行 1 未能開啟新資料庫 metadb create da...