2014-02-28 2 views
1

SSRS 2005를 사용하여 Oracle 데이터 소스에 대해 실행하고 있습니다. 나는 우선이 간단한 쿼리오라클 날짜 매개 변수에 대한 Ssrs

SELECT order_number FROM apps.oe_order_headers_all 
    WHERE ordered_date >= :start 
    AND ordered_date < :end + 1 
    and rownum = 1 

을 사용 나는 가지고 :

ORA-01745 : 유효하지 않은 호스트/바인드 변수 이름

내가 오류를 무시하고 SSRS는 열을 반환 결정 수 있도록 (새로 고침을 클릭하고 매개 변수

SSRS이 매개 변수의 값을 나에게 묻는 메시지)를 사용, 나는 두 매개 변수에 대한 2014년 1월 1일, 01-JAN-2014, 2014년 1월 1일을 시도했지만 모두이 오류가있어 :

System.String을 Blob로 바인딩 할 수 없습니다. (System.Data.OracleClient)

order_number는 NUNBER이고 ordered_date는 Oracle의 DATE입니다.

pl SQL 일 또는 SSRS 일인지 확실하지 않습니까?

+0

to_date (: start, 'DD-MON-YYYY')'차이가 있습니까? –

+0

@OracleUser 아니오 올바르지 않은 호스트/변수 변수 이름이 여전히 있거나 Blob 오류로 System.String 유형을 바인딩 할 수 없습니다. – thotwielder

답변

4

두 번째 오류가 초기 오류에 대한 후속 조치 일지는 확실하지 않지만 첫 번째 오류는 start is a reserved word in Oracle; 당신은 ORA-01745이에서 SQL * 플러스를 얻거나 너무 SQL 개발자 있습니다 :

SQL> var start varchar2(10); 
SQL> select :start from dual; 
select :start from dual 
     * 
ERROR at line 1: 
ORA-01745: invalid host/bind variable name 

end는하지만 허용됩니다. 바인드 변수 이름을 예를 들어 :start_date으로 변경하고 OracleUser가 제안한 명시적인 to_date(:start_date, 'YYYY-MM-DD')to_date(:end_date, 'YYYY-MM-DD')을 추가하면 변수를 입력 할 형식을 알 수 있으므로 멀리 떨어져 있습니다.

나는 두 번째 오류도 해결할 것이라고 상상할 수 있습니다. 그 시점에서 홀수 상태에있는 매개 변수에서 오는 것 같습니다.

+0

고마워요. – thotwielder

관련 문제