2

11g データベースで Oracle.DataAccess.Client を使用しています。そのようにSQLデータソースをセットアップしました。

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:OracleRoadmap %>" 
    ProviderName="<%$ ConnectionStrings:OracleRoadmap.ProviderName %>" 


    SelectCommand="SELECT * FROM &quot;FILES&quot; WHERE (&quot;FILE_NAME&quot; LIKE '%' + ? + '%')">
    <SelectParameters>
        <asp:ControlParameter ControlID="txtSearchValue" Name="FILE_NAME" 
            PropertyName="Text" Type="String" DefaultValue="" />
    </SelectParameters>
</asp:SqlDataSource>

ORA-00911: これを実行すると文字が無効です。ただし、FILE_NAME をハードコーディングすると機能します。

"SELECT * FROM FILES WHERE FILE_NAME LIKE '%.zip%'

私は同じことを試みましたが、SQL Serverに対して問題はありませんでした。

ありがとう

4

1 に答える 1

0

私が探していた答えではありませんが、ページ コード ビハインドで SQLDatasource の SelectCommand を動的に作成しました。これにより、問題が回避されます。

この問題は、ステートメントと変数が別々に Oracle に渡されることに関係していると思われ、完全なステートメントが Oracle で作成されたときにエラーが発生しました。残念ながら、私は Oracle のログにアクセスして何が起きているかを確認することができません。

于 2012-08-23T08:46:15.887 に答える