那是因为SQL语句有长度限制,所以用SQL语句不能写入太长的内容.

解决方案 »

  1.   

    我不是说写不进去,而是读出来的时候给截掉了
    好像写入的全部内容都保存进去了SQL语句本身不会长(Select 语句而已)
      

  2.   

    在php.ini中有这个的设置,默认是2048,就是2k。改一下就可以了。我曾经用mysql插入和读取2兆的数据,好象没有出现语句有长度限制的提示?但sqlserver有我是知道的。
      

  3.   

    对了,前一段时间看到一篇类似的帖子,有人好象说用
    mysql_fetch_array之类的。
      

  4.   

    都不是以上所說的情況 !!!
    資料都保存進了 數據庫, 說明一定不是變量長度的問題 ..對於 Text  類型的欄位 SQL Server 和 Sybase 一樣, 在 select 語句中取得的 text 欄位的值不是全部,而是只取得一部分, 具體大小可以用  
    set textsize 語法來修改 .
    例如  set textsize 6553600 就是要求在 select 語句中, 如果遇到 text 類型的欄位, 取得 640K 的大小出來,如果不設置的話,就是使用預設值,可能會比較小 .
    但是,這個 set textsize 只對當前的 connection 有效 .
      

  5.   

    jekend(jekend) :
       能否说一下PHP中使用的语法?
       这个是当成SQL语句吗?
      

  6.   

    對,作為 sql 語句執行即可 .
      

  7.   

    怎么写?在一个页面执行分开两条语句?
    $cls->command("set textsize 6553500");
    $cls->command("select * from table");
    这样?
      

  8.   

    set textsize 語句一般在 opendb 後執行一次即可, 在本次 connection 都有效 .
      

  9.   

    php.ini中有
    odbc.defaultlrl = 4096
    mssql.textsize = 4096
    你需要做相应调整
    或用sql命令
    set textsize
      

  10.   

    xuzuning(唠叨):我试了在一个连接里连续执行这两个语句,似乎是没有达到预期效果
    "set textsize 6553500"
    "select * from table"
    为什么?所说的mssql.textsize = 4096改了,证明可行
    顺便问一下php.ini这一行上面还有个mssql.textlimit,这个值和textsize有什么不同?