2013-01-18 3 views
2

Catalyst의 DBIx :: Class는 set ARITHABORT ON이 필요합니다.Catalyst의 DBIx :: Class에 sql 옵션을 설정하는 방법

$source->storage->do("set ARITHABORT ON"); 

나는 MS SQL 서버 2008에서이 오류가 :

다음 SET 옵션이 잘못 설정을 가지고 있기 때문에

SELECT 실패 : 'ARITHABORT를 은 내가 이런 식으로 작업을 수행 할 수 있습니다 모르겠어요 '. SET 옵션이 인덱스 된보기 및/또는 계산 열의 인덱스 및/또는 알림 및/또는 xml 데이터 형식 메서드를 사용하여 을 사용할 수 있는지 확인하십시오.

Catalyst에서 이러한 옵션을 설정하는 가장 좋은 방법은 무엇입니까?

답변

4

데이터베이스 모델에서 on_connect_do 속성을 패키지의 구성에 대해 connect_info 안에 설정할 수 있습니다.

__PACKAGE__->config(
    schema_class => 'Your::Schema', 
    connect_info => [ 
     'dbi:ODBC:server=my.host.name;port=1433;driver=FreeTDS;tds_version=8.0', 
     'username', 
     'password', 
     undef, 
     { on_connect_do => [ 'SET ARITHABORT ON' ] }, 
    ] 
); 
+0

감사합니다. 정확히 내가 묻고있다. – alex

0

게시 한 오류는 Catalyst 오류가 아니라 특정 설정을 특정 방식으로 설정해야한다고 알려주는 SQL Server입니다. 예를 들어 XML을 쿼리 할 때는 this이 필요합니다. 따라서 Catalyst 관점에서 모든 것을 올바르게 수행했습니다.

+0

가 네, 부탁 해요, 어떻게 제대로 촉매에 MSSQL에 대해이 옵션을 설정하려면 여기

은 예입니다? Catalyst에서 DBIx를 올바르게 초기화하는 방법은 무엇입니까? – alex