CakePHP3.x × AzureSQLでCannot describe XXXXX. It has 0 columns.

Posted in Azure, CakePHP, DB, PHP関連, SQLServer on 9月 6th, 2016 by Site Administrator

CakePHP3.x と AzureSQLの組み合わせで「Cannot describe XXXXX. It has 0 columns.」
というエラーが発生してpaginate等ができない場合の話。

app.phpのDatasourcesの設定で、’database’と共に’schema’も設定するとエラーが解消する。
CookBook読む限りだとPostgreSQL用の設定のようだが、SQLServerでも設定は有効。

SQLServer 2008 R2 SQL Server Management Studio 編集の際のデータ取得件数変更

Posted in SQLServer on 7月 7th, 2011 by Site Administrator

http://onijima.com/movabletype/public/blog-oniyasai/2010/05/sql-server-management-studio.html

Management Studioを使用してデータの編集を行う場合、「上位200行の編集」を使用することとなりますが、
「200」を任意の値に変更可能です。
ツール→オプション→SQL Server オブジェクト エクスプローラー

SQLServer 2008 R2 SQL Server Management Studioでのテーブル構造の変更

Posted in SQLServer on 7月 7th, 2011 by Site Administrator

SQLServer 2008 R2 で、SQL Server Management Studioを使ってテーブル構造の変更を行った場合、
「変更の保存が許可されていません。 行った変更には、次のテーブルを削除して再作成することが必要になります。
再作成できないテーブルに変更を行ったか、テーブルの再作成を必要とする変更を保存できないようにするオプションが
有効になっています。」
というメッセージが表示されることがあります。回避方法は次の通りです。
1.T-SQLを使って変更を行う
2.Management Studioのオプション設定を変更する
 ツール→オプション→Designers→テーブルオプション
 の「テーブルの再作成を~」を変更する。

SQLServer 2008 R2 IDENTITY指定カラムへのINSERT

Posted in DB, SQLServer on 6月 15th, 2011 by Site Administrator

http://social.msdn.microsoft.com/Forums/ja-JP/aspnetja/thread/978e78e7-65c5-47b2-913f-efe7893554d4

ちょっとはまりました。
IDENTITYを指定したカラムのデータを指定した状態でデータをINSERTすると、
「列リストが使用されていて、IDENTITY_INSERT が ON のときに限り、~」
というエラーが発生してINSERTが失敗します。

これを回避する条件は2つ
・セッション内で、「SET IDENTITY_INSERT テーブル名 ON」を行うこと
・発行するINSERT文は、各カラムを明示的に定義すること
 ○:INSERT INTO [テーブル名] ([id],[user_id]) VALUES (N’1′, N’0′);
 ×:INSERT INTO [テーブル名] VALUES (N’1′, N’0′);

Navicatを使ってMySQL→SQLSererへデータの移行をしている際に少しはまりました。

CakePHP(1.3.8) SQLServerとの接続

Posted in CakePHP, DB, SQLServer on 6月 8th, 2011 by Site Administrator

http://www.greendesign.biz/sql-server-driver-for-php%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/
こちらを参考に接続設定を行いました

1.SQL Server Driver for PHPのダウンロード
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=80e44913-24b4-4113-8807-caae6cf2ca05

2.PHPへのドライバの設定
C:xamppphpextへ、適切なドライバをコピーし、php.iniに設定記載。
extension=php_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll

3.Apache再起動

4.CakePHPのDATABASE_CONFIGを設定
・‘driver’ は ‘sqlsrv’ を設定
・’charset’ => ‘UTF-8′ を追加(’encoding’ に設定してもダメ。また ‘utf8’ でもダメ)

5.dbo_sqlsrv.php を appmodelsdatasourcesdbo に配置
https://github.com/cakephp/datasources/tree/master/models/datasources/dbo/
ここからダウンロード

SQLServer 2008 R2 外部からのDB接続

Posted in DB, SQLServer on 6月 3rd, 2011 by Site Administrator

1.ファイアーウォールでポート1433(標準)が空いていることを確認
2.SQLServer構成マネージャ→SQLServerネットワークの構成→プロトコルで、TCP/IPが有効であることを確認
3.接続ユーザーアカウントが適切であることを確認