0

アプリケーションを SQL Server データベースから Oracle データベースに移行するように依頼されました。

次のエラーが表示されます。

ORA-00942: 表またはビューが存在しません

間違っているかもしれませんが、これは私の発言の問題だと思います。SQL Server を介して Oracle データベースに接続する場合に従う必要がある特定の形式はありますか?

クエリステートメントを含めます。

namespace project1
{
    public class dbqry
    {
        private static string qry = "";


        public static DataTable gProjectCIS(string BSA_CD)
        {
            qry = string.Format(@"SELECT *
                    FROM CIS_TRANS
                    WHERE BSA_CD like '%{0}%'", BSA_CD);

            return dbcon.GetDataTable(qry, "ProjectCISConnectionString");
        }

        public static DataTable gProjectCIS()
        {
            qry = @"SELECT *
                    FROM CIS_TRANS";

            return dbcon.GetDataTable(qry, "ProjectCISConnectionString");
        }

ありがとう!

4

5 に答える 5

1

こんにちは、テーブルにスキーマのプレフィックスを付ける必要があります

  qry = string.Format(@"SELECT *
         FROM YourSchemaUser.CIS_TRANS <-- Fix your schema user name
         WHERE BSA_CD like '%{0}%'", BSA_CD);

  qry = @"SELECT * FROM YourSchemaUser.CIS_TRANS"; <-- Fix your schema user name

そして、ストアド プロシージャのパッケージを修正します。

宣言と本体を変更し、使用前に最初にパッケージをコンパイルします

于 2012-08-06T15:39:13.680 に答える
0

オブジェクト名を確認してください。また、それらが正しいケースにあることを確認してください。

データベースへの接続に使用しているユーザー名に、使用しようとしているテーブル/ビューに対する権限があることを確認してください。Oracleは通常、適切な権限がない場合、テーブルは存在しないと言います。

于 2012-08-06T15:44:49.860 に答える
0

CIS_TRANS テーブルに次のような適切なパブリック シノニムがあるかどうかを確認する必要があります。

create or replace public synonym CIS_TRANS for some_user.CIS_TRANS

some_user は、CIS_TRANS オブジェクトを作成したユーザーです。

于 2012-08-06T19:03:01.573 に答える
0

正しいスキーマにログインしていますか?

于 2012-08-06T16:00:05.187 に答える
0

大文字と小文字の区別に関しては、Oracle はうるさいです。テーブルが「QUOTES」で宣言されている場合は、クエリに引用符を含め、大文字と小文字を一致させる必要があります。それはおそらく良いスタートです。

于 2012-08-06T15:38:47.413 に答える