問題タブ [rodbc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - RからのMySQLodbcタイムアウト
Rを使用して、RODBCパッケージを使用してMySQLデータベースからいくつかのデータを読み込みます。次に、データが処理され、一部の結果がデータベースに返送されます。問題は、データをローカルで処理するために必要な時間である非アクティブのために、サーバーが約1分後に接続を閉じることです。その共有サーバーなので、ホストはタイムアウト時間を増やすことはありません。
これを回避するには、2つの可能性があると思います。1)すべてのデータベーストランザクションの前に接続を開き、直後に接続を閉じます。2)30秒ごとにサーバーに小さな「ping」コマンドを送信して、サーバーに自分がまだそこにあります。
最初のものはかなり簡単に実装できますが、接続を常に開いたり閉じたりするのはかなり遅いようです。誰もが2番目の効率的なコマンドを知っていますか?または完全に良い方法ですか?
r - RODBC を使用して Revolution R から Oracle DB にクエリを実行する
DSN を介して 64 ビット ODBC ドライバーを使用して Oracle に接続された winxp64 ビット上の Revolution R 64 ビットでの RODBC エラー
接続できますが、クエリを実行するとエラーが発生します。以下も機能します
しかし、事前に行サイズ(最大= 1)がわからない場合はどうなりますか
ありがとう、アルン
sql - Rの動的な「文字列」
簡単な質問ですが、答えが見つかりません。
それ以外の:
より動的なコードが必要です。何かのようなもの:
しかし、これは正しくありません。
r - R用のRODBCパッケージのodbcConnectExcel関数がUbuntuに見つかりません
UbuntuにRODBCパッケージをインストールするのは少し厄介です。最初に私は以下をインストールすることを学びました:
パッケージはまだヘッダーファイルを探していたので、それは十分ではありませんでした。私はこの問題を次のように解決しました:
よし、RODBCはUbuntuマシンに正しくインストールされています。しかし、次のスクリプトを実行しようとすると、次のようになります。
関数odbcConnectExcelが見つからないというエラーがスローされます。私は各文字の大文字小文字をチェックし、それが単純なタイプミスではないことを確認しました。いいえ。次に、この同じスクリプトをWindows Rインストールで実行しました(もちろん、ファイルパスは異なります)。スクリプトは機能します。
Ubuntu RのインストールでodbcConnectExcel関数が見つからない理由と、これを機能させる方法についてのアイデアはありますか?
r - RODBC関数とエラー/警告
このRコードに関する質問:
どちらの場合も(コード内の必要なパラメーターを省略することで強制される)エラーに対してコードは正常に機能します(警告とエラーの部分はほぼ同じです):NA値とエラーメッセージが表示されます。
sqlQueryのエラー(無効なDSNを指定)の場合:NA値とエラーメッセージ。
ただし、sqlQueryによる警告は対象外です。メッセージは出力されませんdf
が、メッセージが含まれます(したがって、NAは含まれません)。なんで?
r - RODBC の sqlQuery で WHERE ステートメントが機能しないのはなぜですか?
私たちはすべての実験データを Sybase データベースに保管しています。データの操作と分析を行いたいときは、RODBC を使用してデータを R に読み込みます。
これまでのところ、CGS.Specimen がラボの保有物全体のテーブルであることを除いて、非常に良好です。66 個の変数を持つほぼ 40000 の標本 (行) があります。特に、約 1000 の標本を含む 1 つの研究の所蔵にのみ関心がある場合は、読むのに不必要な時間がかかります。それを修正する明白な方法は
しかし、私がそれを実行すると、
[1] "42S22 -143 [Sybase][ODBC Driver][Adaptive Server Anywhere]Column not found: Column 'RP' not found" "[RODBC] ERROR: Could not SQLExecDirect 'SELECT * from CGS.Specimen WHERE StudyCode=\ "RP\"'"
私は引用符で遊んだり、エスケープスラッシュで遊んだりしましたが、残念ながらどこにも行きませんでした.
例えば
エラー: "indivs <-sqlQuery(channellab,'SELECT * from CGS.Specimen WHERE StudyCode= 'RP" に予期しない記号があります
.Call(C_RODBCFetchRows, attr(channel, "handle_ptr"), max, buffsize, のエラー: 負の長さのベクトルは許可されていません
何を指示してるんですか?
sql-server-2005 - RODBC sqlSave()PKに違反したときに挿入クエリを停止する
私は自分のデータをMicrosoftSQL2005データベースに保存するオンライン調査を開発しました。Rのデータに対して一連の外れ値チェックを作成しました。これらのスクリプトの一般的なワークフローは次のとおりです。
- sqlQuery()を使用してSQLデータベースからデータを読み取ります
- 外れ値分析を実行する
- sqlSave()を使用して、問題のある回答者を別のテーブルのデータベースに書き戻します。
私が書き戻しているテーブルの構造は次のとおりです。
ご覧のとおり、主キーをmodelidとreasonに設定しました。同じ回答者が複数のチェックの外れ値である可能性がありますが、どの回答者にも同じmodelidとreasonコンボを挿入したくありません。
まだデータを収集しているので、データに基づいて推定しているモデルを開発するときに、これらのスクリプトを毎日/毎週更新できるようにしたいと思います。sqlSave()
これが私が使用しているコマンドの一般的な形式です:
ここdb
で、は有効なODBC接続でdb.insert
あり、次の形式になります。
sqlSave()
主キーの制約に違反し、挿入の他のレコードを続行しない行を挿入しようとすると、チョークします。設定することでこの問題は軽減されると思いましたfast = FALSE
が、そうではありません。
この問題を回避する方法について何かアイデアはありますか?drop
最初のスクリプトの最初はいつでもテーブルを作成できましたが、それはかなり手間がかかるようで、間違いなく今後の問題につながるでしょう。
excel - RODBC で .xls ファイルを読み取るときに colnames を使用しない
別の不可解な問題があります。
RODBC で .xls ファイルを読み取る必要があります。基本的に、1 つのシートにすべてのセルのマトリックスが必要であり、grep や strsplits などを使用してデータを取得します。各シートには複数のテーブルが異なる順序で含まれており、いくつかのテキスト フィールドの間に他のオプションが含まれているため、のようreadLines()
に機能するものが必要ですが、Excel シートの場合は. RODBC はそれを行うための最良の方法だと思います。
私のコードのコアは次の関数です:
それでも、私が試したものは何でも、返されたデータ フレームの変数名として、言及されたシートの最初の行が常に使用されます。それを解決する方法はわかりません。ドキュメントによると、colnames=FALSE
それを防ぐ必要があります。
xlsReadWrite
パッケージは避けたいです。編集:およびgdata
パッケージ。クライアントのシステムに Perl がなく、インストールされません。
編集:
諦めてパッケージread.xls()
から一緒に行きました。xlsReadWrite
名前の問題は別として、RODBC は、スラッシュなどの特殊記号を含むセルを実際には読み取れないことが判明しました。「dd/mm/yyyy」形式の日付は、NA を示しました。
sqlFetch、sqlQuery、および sqlGetResults のソース コードを見て、問題がドライバーにある可能性が高いことに気付きました。どういうわけか、シートの最初の行は、通常のセルではなく、列の機能として表示されます。したがって、colnames の代わりに、DB フィールド名に相当します。そして、それはあなたが設定できないオプションです...
r - RODBCクエリチューニング
RODBCを使用してOracleデータマートからRにデータをプルしようとしています。私は自分の問題のいくつかを解決することができましたが、1つの基本的な質問があります。
データベースにあるフォーマットを保持するにはどうすればよいですか?
次のコマンドを使用する
私のデータは期待どおりに取得されますが、一部のフィールドは、文字である必要があるときにRで一度数値および論理に変換されます。私が使用すればこれを回避することができます:
しかし、希望する日付としてフォーマットされている列を「失う」。
sql - R 変数を RODBC の sqlQuery に渡しますか?
R内で定義された変数をRODBCパッケージ内のsqlQuery関数に渡す方法はありますか?
具体的には、そのような変数をスカラー/テーブル値関数、ストアド プロシージャ、または SELECT ステートメントの WHERE 句のいずれかに渡す必要があります。
たとえば、次のようにします。
それで、
または...
または...
明らかに、これらはどれも機能しませんが、この種の機能を可能にする何かがあると考えています。