none
SQL 直接連線的問題 RRS feed

  • 問題

  • 問題點是每天的第一次連線都會無法連接  IP\SQLEXPRESS (找不到指定的伺服器),但是試到連線進去後,之後裝置上程式再關掉再打開都可以連線,很怪,我程式都都沒改,請問這是為什麼??
    • 產品版本:9.00.5000.00
    • 產品等級:sp4
    • 版本:Express Edition with Advanced Services

    裝置: unitech PA600(mobile6)

    安裝: Sql.ppc.wce5.armv4i.cab

    連接字串:  string Sql_connStr = @"Data Source=192.168.1.109\SQLEXPRESS;Initial Catalog=Lemon;User ID=lemon1;password=lemon1";

    我確定允許遠端連線了,因為我有連線成功過,且我用別台PC的 SQL Server Management Studio Express 連線進去是可以的

     

    下面是我的SQL設定,請問我哪裡有錯誤嗎??   [Server IP]=192.168.1.109   [Client IP]=192.168.105

    SQL SERVER Configuration manager 設定一覧

    [TCPIP]  >> IP位址

    IP1

    IP位址:192.168.1.104

    TCP動態通訊埠:

    TCP通訊埠:

    已啟用:否

    使用中:否

     

    IP2

    IP位址:127.0.0.1

    TCP動態通訊埠:

    TCP通訊埠:

    已啟用:否

    使用中:是

     

    IP3

    IP位址:192.168.1.109

    TCP動態通訊埠:

    TCP通訊埠:1433

    已啟用:是

    使用中:是

     

    IPAll

    TCP動態通訊埠:

    TCP通訊埠:1433

    請問是因為Sql Server 哪裡沒設定好嗎??

     

     


    IDS
    2011年6月17日 上午 06:22

所有回覆

  • PDA部分:

     

        string Sql_connStr = @"Data Source=192.168.1.109\SQLEXPRESS;Initial Catalog=Lemon;User ID=lemon1;password=lemon1";
        SqlConnection Sql_con;
          try
          {
            string SQL = "select * from farmer";
            Sql_con = new SqlConnection(Sql_connStr);
            Sql_con.Open();
    
            SqlCommand comm = new SqlCommand(SQL, Sql_con);
            SqlDataReader dr = comm.ExecuteReader();
            while (dr.Read())
            {
              //測試資料有無抓取
              MessageBox.Show(dr[0].ToString());
            }
            dr.Close();
            Sql_con.Close();
          }
          catch (Exception ex)
          {
            MessageBox.Show(ex.Message, "錯誤");
            this.Close();
          }
    

    還是一樣,有時可以連線,有時連不進去

     

     


    IDS
    2011年6月17日 上午 08:22
  • 真的很奇怪!!!  我現在又可以連線了,不過境經驗來說,明天又一定會連不進去
    IDS
    2011年6月17日 上午 08:42
  • 有可能是SQL Server第一次啟動需要較長的時間引起的
    2011年6月18日 上午 03:17
  • this大大~那這樣該從哪理解決??  程式還是SQL??ˋ
    IDS
    2011年6月20日 上午 04:11
  • 您可以改連到SQL Server, 而不是SQL Server Express, 看還會不會有這種情形, 如果不會, 就是SQL Server Express第一次啟動較慢引起的
    2011年6月21日 上午 03:42
  • this大大~我現在將SQL環境變更如下

    OS:Win2000

    SQL:SQL Server 2000

     

    但我想我遇到一個問題:Win2000會擋行動裝置的登入,PC我可以先連線進去在執行程式,就可以連線,那行動裝置該如何處理??


    IDS
    2011年6月24日 上午 05:54
  • [Win2000會擋行動裝置的登入]是什麼意思?
    2011年6月27日 上午 11:12
  • this 大大~這是我自以為的判斷,我做過以下測試

    • 用 Client電腦的 SQL Server Management Studio Express 連線 Server的SQL2000 是可以連線的,不過先決條件是Client要先連的到Server,(Server要有Client的登入帳號)
    • 但是我用行動裝置是無法連線的,所以才會這樣認為:PC連入Win2000,都需要帳號密碼,所以我猜行動裝置應該也是,但是我不知道行動裝置的帳號密碼去哪Key

    而在經過幾天的測試之後,我把SQL2005 Express重灌了,這兩天的測試連線就都又可以了,所以我還在持續測試中,不過我猜應該是可以了!!

    所以結論應該就是SQL 2005應該是被我之前亂設定,所以才會發生登入不穩定的狀況,雖然我也跟各位大大確認過很多設定了,不過還是自己的問題!!  感謝大大們抽空幫我想問題


    IDS
    2011年6月29日 上午 03:20
  • Hi,

    感覺上如果Server上面需要有Client帳號的話應該SQL Server是用Windows驗證的方式?不然用SQL Server驗證的方式跟登入電腦的帳號是無關的才對哩



    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2011年7月4日 下午 12:06
    版主
  • Server:

    OS:Win2000

    電腦登入帳號: kent

    電腦登入密碼: 111

    SQL:SQL 2005 EXPRESS

    SQL登入帳號: sqlsa

    SQL登入密碼: sqlsa

     

    Client:

    OS:WinXP

    電腦登入帳號: kent

    電腦登入密碼: 111


    行動裝置:

    OS: Mobile 6

     

    Client可以連線進Server,但行動裝置不行

    因為以上的環境,所以我才會覺得下面這句話是成立的(如果不對請糾正)

    因為行動裝置無帳號可以設定,所以行動裝置連線不進去Server(Win2000)

     

     


    IDS
    2011年7月12日 上午 09:03
  • Hi, kentsl

    應該是分成兩種情形;以MS SQL Server 來說,有兩種驗證方式,一種是Windows驗證,另外一種是SQL Server驗證;這個在SQL Server上面可以去做設定,看支援那些驗證的方式。而 Client連線的時候,也要去指定連線驗證的方式,比如說使用SQL Server驗證,那麼連線字串中就會看到'user=sa;password=123456'類似這樣的資料在裡面,而Windows驗證的方式就不會看到這樣的字眼。

    行動裝置的部分因為不像是一般作業系統,因此如您所說的沒有帳號的部分,因此無法使用'Windows驗證'的方式去連線SQL Server,但若以'SQL Server驗證'的方式是可以連接SQL Server的才是。

    而如果要在行動裝置上要使用Windows驗證的話,可以參考下面這篇文章

    http://msdn.microsoft.com/zh-tw/library/x984482z(VS.80).aspx

    其中Integrated Security=SSPI; User ID=DOMAIN\username; Password=********;這部分就是設定相關的驗證方式,不過以行動裝置來說還是得要在連線字串中帶有密碼的部分就是了



    請注意討論區相關規則,良好的討論環境需要大家共同努力、遵守
    2011年7月12日 上午 10:19
    版主
  • 請問this大大~

    我是WIN7(x64)+VS2005sp1,這樣寫PDA程式(SQL ON LINE)會不會有元件引用錯誤的問題


    IDS
    2011年8月2日 上午 07:17
  • 應該OK, 什麼是SQL ON LINE?
    2011年8月3日 上午 02:20
  • this 大大~  我的意思是指:直接跟SQL做連線,不透過SQLCE,IIS之類的輔助
    IDS
    2011年8月3日 上午 03:27
  • 請問this大大~我現在是SQL 2005 Enterprice

    相同的程式,在PC上可以連到SQL(PDA的程式直接複製到PC上執行),在WM的PDA上卻會回應無效的連結

    但是連線到 SQL 2005 developer 又可以連線,查到現在,好像是SQL設定的問題,但又不知道是哪裡要設定!!  請解惑!!

     

    以下是我的連接字串

    Data Source=192.168.1.126;Initial Catalog=master;User ID=test001;Password=test001

     


    IDS
    2011年9月20日 上午 05:00
  • 最後在本論壇查到文,說把SQL2005 Express 用預設個體安裝就可以連線

    經測試也確定可以連線了!!

    只是我的SQL2005 Enterprice 為何不能連線??應該也是設定有問題吧!!!

     

    文章標題為  

    WinCE.NET 5.00 連接SQL EXPRESS 具名問題

     


    IDS
    2011年9月20日 上午 08:40