programing

매개 변수를 사용하여 쿼리 또는 명령을 실행할 때 Dapper가 Oracle Exception을 실행하는 이유는 무엇입니까?

abcjava 2023. 6. 10. 07:54
반응형

매개 변수를 사용하여 쿼리 또는 명령을 실행할 때 Dapper가 Oracle Exception을 실행하는 이유는 무엇입니까?

저는 평가원이지만 이미 몇 가지 문제에 부딪혔습니다.

나는 이것을 하려고 노력하고 있습니다.

using (IDbConnection connection = GetConnection())
{
    connection.Open();
    var result = connection.Query(
        "select * from myTable where ID_PK = @a;", new { a = 1 });
}

SqlMapper.cs 의 행 393에 ORA-00936: missing 식 OracleException을 슬로우합니다.

using (var reader = cmd.ExecuteReader())

매개 변수를 제거하면 전체 테이블이 결과 변수로 들어갑니다.

쿼리는 sqdeveloper에서 문제없이 작동합니다.오라클을 사용하고 있습니다.데이터 액세스 어셈블리 2.112.2.0

오라클에서 명명된 매개 변수에 대한 스키마가 다른 것 같습니다. 시도해 보셨습니까?:a대신에@a?

예, 오라클 데이터베이스 테이블에 레코드를 삽입하려는 경우 ":"와 함께 작동합니다.

다음과 같이 시도해 보십시오.

var count = connection.Execute(@"INSERT INTO COMPANY_USER(UserId , UserName) values (:UserId, :UserName)", new[] { new { UserId = 1, UserName = "Sam" }, new { UserId = 2, UserName = "Don" }, new { UserId = 3, UserName = "Mike" } });

IN 목록에서도 작동합니다.

var partialList = 새 목록();

var list =이(가) db 대기 중입니다.QueryAsync("블라1,블라2 선택" 테이블 이름에서 문자열 열 1 위치:값 목록", 새 {값 목록 = partialList});

언급URL : https://stackoverflow.com/questions/7012754/why-does-dapper-throw-an-oracleexception-when-i-run-a-query-or-command-with-para

반응형