全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2962
推到 Plurk!
推到 Facebook!

MS-SQL 資料庫名稱大小寫 及 Primary 問題 ?

尚未結案
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-13 13:01:06 IP:220.135.xxx.xxx 未訂閱
ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Create Table Kproduct(Kc_pn Varchar(25) not null ,kc_name Varchar(40) null ) '; ADOQuery1.ExecSQL; 狀況一: 在 Select * from Kproduct 沒問題 ,Select * from kproduct(或kProduct)就有問題 每個大小寫都要一樣才可 (欄位大小也是如此) 狀況二: ADOQuery1.SQL.Add('ALTER TABLE Kproduct WITH NOCHECK ADD '); ADOQuery1.SQL.Add('CONSTRAINT PK_Kproduct Primary Key CLUSTERED '); ADOQuery1.SQL.Add('(Kc_pn) on [Primary] '); ADOQuery1.ExecSQL; 會出現錯誤:指定了無效的檔案群組'Primary' ? 可是在我的Server 沒問題,Copy 至客戶Server就有問題 客戶Server 非本公司代為按裝,內有鼎新系統資料庫名稱都是大寫 不知誰有此經驗 ? 懇請幫忙
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-13 16:25:11 IP:61.219.xxx.xxx 未訂閱
是否在安裝SQL SERVER時的設定值?有大小寫的選項。 我是昨天在裝SQL2005 時,有印象有此選項。(未用過其他版本的SQL SERVER)
James
高階會員


發表:10
回覆:290
積分:220
註冊:2002-07-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-13 22:07:13 IP:220.134.xxx.xxx 未訂閱
1. 因為你所使用的那個資料庫的設定是採用 繁體中文_Bin 的方式,因此 你欄位設定大寫或小寫就一定要一樣。 2. 如果您是開發商業軟體,那可能要注意一下您客戶的那個 SQL Server 的 License,因為他有一條但書,由於他們購買的時候是採用跟隨鼎新系統 的方式,因此可能會需要補購買另外一套 SQL 的 License
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-14 08:35:14 IP:220.135.xxx.xxx 未訂閱
狀況二: ADOQuery1.SQL.Add('ALTER TABLE Kproduct WITH NOCHECK ADD '); ADOQuery1.SQL.Add('CONSTRAINT PK_Kproduct Primary Key CLUSTERED '); ADOQuery1.SQL.Add('(Kc_pn) on [Primary] '); ADOQuery1.ExecSQL; 會出現錯誤:指定了無效的檔案群組'Primary' ? 可是我在客戶那使用 Enterprise Manager, table ,design table ,set primary key 手動去建立 Primary 就可以 ? 為何使用 Sql 語法就不行 ? 真納悶
l630521
資深會員


發表:15
回覆:349
積分:372
註冊:2003-02-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-14 09:18:04 IP:211.74.xxx.xxx 未訂閱
引言: 狀況二: ADOQuery1.SQL.Add('ALTER TABLE Kproduct WITH NOCHECK ADD '); ADOQuery1.SQL.Add('CONSTRAINT PK_Kproduct Primary Key CLUSTERED '); ADOQuery1.SQL.Add('(Kc_pn) on [PRIMARY] '); ADOQuery1.ExecSQL; 會出現錯誤:指定了無效的檔案群組'Primary' ? 可是我在客戶那使用 Enterprise Manager, table ,design table ,set primary key 手動去建立 Primary 就可以 ? 為何使用 Sql 語法就不行 ? 真納悶
請將你的Primary改成大寫試看看 Ian
懷舊的人
高階會員


發表:28
回覆:152
積分:141
註冊:2003-01-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-14 18:25:43 IP:211.78.xxx.xxx 未訂閱
SQL SERVER 要注意定序名稱,可能使用者使用的是可分大小寫的定序,這樣除了保留字你所使用的TABLE NAME 和 FIELD NAME 都必須注意大小寫,而安裝預設值是不分大小寫即 Chinese_Taiwan_Stroke_CI_AS 請參考 HELP 定序 你如果要知道使用者使用的是何定序,只要啟動 SQL SREVER ENTERPRISE 然後滑鼠點到使用者的資料庫名稱按右鍵看內容,在一般項目下方有顯示該資料庫的定序名稱。 你的資料庫最好改成跟使用者一樣的定序會比較好,有兩個方法可以改,一是另建一新資料庫然後指定和使用者相同的定序,另一個是直接將現在使用的資料庫改為和使用者相同的定序。 發表人 - 懷舊的人 於 2005/11/14 18:36:37
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-11-16 07:40:25 IP:220.135.xxx.xxx 未訂閱
是 定序名稱 問題已解決 謝謝各大大
系統時間:2024-06-28 7:43:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!