• ベストアンサー

ASP.NET で オラクルテーブルのレコード数を変数に入れるには?

Visual.basic.net で ASP.NETをやってます。 オラクル上のテーブルのレコード件数を取得して 変数に入れたいと思ってます。 記述方法を知ってる方いませんか? オラクルサーバ ORA_SERV スキーマ    SUKIMA10 パスワード   PWD10 テーブル名 TABLE10

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1
PYTHON357
質問者

補足

コメントありがとうございます。 分からない箇所を以下に説明します。 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim MyConnString As String = "Data Source=ORA_SERV;user ID=SUKIMA10;PASSWORD=PWD10;" Dim cn As New OracleConnection(MyConnString) cn.Open() DIM SQL文件数 DIM SQL文 DIM DATA件数 SQL文件数 = "select count(*) cnt from TABLE10" '*********************↑cnt にデータ件数が入る ***   DATA件数 ←← CNT   '**↑この表現が分からない** SQL文= "select * from TABLE10" Dim cmd As New OracleCommand(SQL文, cn) Dim DR As OracleDataReader = cmd.ExecuteReader() DataGrid1.DataSource = DR DataGrid1.DataBind() End Sub 

関連するQ&A

  • ASPでのOracleへの接続

    いつもお世話になっています。 ASPでのOracleへの接続について質問させていただきます。 ASPファイルの中でOracleへ接続し、テーブルを更新するストアドファンクションを呼び出す処理を作成しているんですが、そのASPファイルを開くと 次のようなエラーが表示されてしまいます。 //////////////////////////////////////////////////////// エラー タイプ Microsoft OLE DB Provider for Oracle (0x80040E14) ORA-06550: 行1、列7: PLS-00221: 'TEST_T_FUNC'がプロシージャではないか、または未定義です。 ORA-06550: 行1、列7: PL/SQL: Statement ignored /test_asp.asp, line 113 //////////////////////////////////////////////////////// 呼び出し先がプロシージャの場合はテーブルは正常に更新されますが、 ファンクションだと上のエラーが起こってしまうようです。 ファンクションを呼び出しても正常に更新されるようにしたいのですが どのようにすればいいでしょうか? よろしくお願いします。

  • oracleのテーブルExportについて

    oracle10gを使用しております。 テーブルに億桁のレコードが登録してある場合、 テーブルExportを行うと時間がかかってしまう&出力dumpファイルが 大きくなってしまうといった弊害があると思うのですが、 テーブルレコードを数万単位に分割してExportすることは可能でしょうか? また、その分割したファイルをImportする際は、Export前と同じく 一つのテーブルでレコードを管理することが可能でしょうか。 大雑把な質問で申し訳ありませんが、宜しくお願いします。 また、今回Export時に使用するコマンドは以下になります。 exp スキーマ名/パスワード constraints=y grants=y indexes=y tables=テーブルA file= テーブルA.dmp log=テーブルA.log

  • 別のスキーマのテーブルアップデートの件

    お世話になります。 Oracle初心者です。 別のスキーマのテーブルをアップデートすべく、 PLSQL(プロシージャ)作成したのですが、 コンパイルすると、ORA01031:権限が不足しています。 と出てしまいます。 どなたかご教示下さいます様、 宜しくお願い致します。

  • テーブルのレコード件数取得について

    はじめまして。 postgresの「テーブルのレコード件数取得」について教えてください。 何も考えずに select count(*) from tblA; というSQLの記述をしていたのですが、レコード件数が30万件を超えた あたりから、結果が戻るまでに4~5秒もかかるようになりました。 もっと効率の良い(=短い時間)検索方法はあるのでしょうか? ちなみに postgres+C+PC-Soralis の組みあわせです。 マシンはPen4-2Ghz メモリーは512MBです。

  • OracleのLONG型への insert について

    お世話になります。 ASP + Oracle8.0.5で開発中のシステムがあるのですが、 ASP上のテキストエリアに文章を記述して、OracleのテーブルのLONG型のカラムに対して insertを行うとエラーが起こってしまいます。 正しくは、全角で2000文字までは入力できるのですが、 それを越えてしまうと、ORA-01461エラー(LONG値はLONG列にのみバインドできます)という エラーが起こってしまい、カラムに対してinsertすることができません。 テーブルを見直してみたのですが、ちゃんとLONG型に設定してありました。 LONG型のカラムにデータを登録する際、4000バイト以上の文字列は挿入できないでしょうか? でもLONG型って、2GBまで使用できるはずでしたよね? ご教授のほど、よろしくおねがいします。

  • ORACLEのテーブルスペースについて

    OS:AIX Ver.4.3 DB:ORACLE(Ver.8.1.6) でSQL*Loaderを実行していたのですが、 "エラーコード -2 STDERR 書込不可"? ↑ (ログを消してしまってはっきりは覚えてないのですが) というエラーログが出力され、その後、ロードする テーブルのTABLESPACEについて "ORA-01536: 表領域 TABLESPACEXXXに対して割り当てられた領域を使い果たしました。" というORACLEのエラーが発生し始めました。 その後、CREATEは上記ORACLEエラーにより実行不可、 その後のINSERTは途中までできていたのですが、途中から 同様のORALCEエラーにより実行不可、 という状態になっています。 (直前まで通常にデータの更新は行えていました) ちなみに該当するTABLESPACEに割り付けられたデータ ファイルにはまだ十分領域が空いています。 該当するTABLESPACEのデータファイルに対する割付領域を "ALTER TABLE ~" で拡大できたと思うのですが、 方法がはっきり分かりません。 どなたかご存知の方、また、このエラー自体の原因が 分かる方、いらっしゃったらお願いします。

  • オラクル ORA-01034

    MiracleLinux1.1 + Oracle 8i(r8.1.7)を使っています。  先日も質問させていただいて解決したかと思ったのですが 解決しておりませんでした。すいません。  現在、Oracle8iをインストールして、その際にユーザー oracleと、グループdba, oinstallを作っています。 ユーザーoracleになれば、何の問題も起こらないのですが、 新しいユーザー(例えばWEB用の webuser など)を作成 すると、このユーザーがログインできません。 % sqlplus system/manager ORA-01034: ORACLE not available というエラーになります。  環境変数は ユーザーoracleと同じにしています。 違うのは USER, MAIL, PWD くらいです。  webuserを dba, oinstallに所属させてみてもだめな ようです。 /etc/group %sqlplus system/manager@sid の書式を使ってみると ORA-12154: TNS: could not resolve service name というエラーになってログインできません。  なにかアドバイスなどいただければ幸いです。

  • JDBCでテーブルUPDATE後の再検索でエラー

    お世話になります。 ORACLEでUPDATEに失敗(抽出条件に一致するレコード無し)した後、同一テーブルのレコードを再検索するとSQLExceptionが発生してしまいます。原因、対策をご存知の方がおられましたら、ご教授ください。よろしくお願い致します。 (1)table_1からFieldAの値を取得する。(ここでは"001"だったとする) select FieldA from table_1 where FieldB='XXX'; (2)FieldAから取得した値を変更する("001"から"002"に変更) その他諸々の業務処理を行う (3)update table_1 set FieldA='002' where FieldB='XXX' and FieldA='001'; (4)更新がOKだったら処理終了。 (5)同一レコードのFieldAの値を他のプロセスが既に更新済みだった場合、update件数が0となるので、 (1)からリトライを行う。 ⇒この時、(1)の再検索でResultsetのexecuteQueryの後、next()メソッドで「ORA-01002: フェッチ順序が無効です。」となってしまいます。

  • DBから複数テーブルを早く表示するには?

    [table1] ID name age -------------- 01 太田 30 02 田中 58 03 鈴木 23 [table2] ID item01 ---------- 01 AA 02 CC 02 DD [table3] ID item02 ---------- 02 ee 02 ff 03 gg ASPを勉強中です。 oracleの[table1]~[table3](上記)を連結し、ASPで次の様なHTML(一覧表)を表示したいです。 ----------------- ID :01 name :太田 age :30 item01 :AA item02 : ----------------- ID :02 name :田中 age :58 item01 :CC、DD item02 :ee、ff ----------------- ID :03 name :鈴木 age :23 item01 : item02 :gg ----------------- 現在、ASPから「select * from table1」というSQL文をoracleに投げ、返されたダイナセットをVBScriptの「Do~Loop」で1レコードずつHTML表示しています。 item01を表示させる部分では「SELECT item01 FROM table2 WHERE id = table1のid」をoracleに投げ、返されたダイナセットすべてを表示しています。 (item02表示部分も同様) この方法では、1レコード表示毎にitem01,02部分で別のSQL文を走らせるので、100件程度のデータの表示に10秒近くかかってしまいます。 これを少しでも早くするにはどうしたらいいでしょうか? VBScriptの構文、SQLのこんなコマンドを使えば良い、oracleのテーブル内容の見直し、等々ご助言があればお願いします。 DB:Oracle9i サーバ:Windows2000 プログラム:ASP 接続環境:oo4o

  • オラクルSQL 一致しないもの一覧

    こんばんわ。ORACLEで、 A 平成 番号 種別 ... 21 12 1 ... 21 12 2 ... 22 13 3 ... 21 13 1 ... B 平成 番号 種別 21 12 1 ... 21 12 5 ... 22 13 5 ... というテーブルがあります。 ここから、平成は21(例えば)という条件で、Aにはあって、Bにはない。もしくは、BにはあってAにはないレコードを検索したいです。 結果は、下記となります。 平成 番号 種別 テーブル名 21 12 2 TABLE A 21 13 1 TABLE A 21 13 5 TABLE B 色々考えたのですがよい方法がわかりませんでした。 効率のよいSQLはありますでしょうか? レコードはA,Bそれぞれ数万件です。 よろしくお願いします。

専門家に質問してみよう