2009-05-22 15 views
1

私はフィールド名をしている私のSQL Serverからの結果が切り捨てられることを発見した切り捨て?PHP&SQL Serverのフィールド名は

私はデータベースドライバがADODBだと思います。

だから、カウントする必要はありません。フィールド名は31文字に切り捨てられています。

SQL Serverは長いフィールド名をそれほど気にしていないようですので、長い名前を入れることができないADODBドライバのどこかにchar [32]文字列バッファがあるとしか推測できません。切り捨てられたフィールド名を回避するために

答えて

5

あなたは、おそらく10年古い、廃止予定の同梱MSSQLクライアントを使用しています。 new MSSQL driver for PHP from Microsoftを使用するか、MSSQLサーバーCDからMSSQLクライアントツールをインストールしてください。これはあなたの現在の問題のために動作します

$query = "SELECT some_really_really_long_field_name AS short_alias FROM ..." 

+2

「カラム名を返す関数がDBLIBでdbcolname()関数に基づいています。、最大列長は30文字です。 " – TML

+0

それは本当にうまくいった。 –

1

最も簡単な方法は、短いフィールド名を使用することです....

申し訳ありませんが、それは安っぽいの答えのように聞こえるが、それは読んで維持し、ちょうど良く練習するくらい、きれいに簡単です。

2

あなたは、あなたの長いフィールド名のために、このような何かを、エイリアスを使用することができます。しかし、PDO MSSQLドライバを使用してデータベースに接続することをお勧めします。 DBLIBが最大識別子長はこのため30です。SQL Server 6.x用に開発された

関連する問題