問題タブ [rmysql]
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 から呼び出されたときに MySQL ストアド プロシージャが失敗する
この手順は、リモートとローカルホストの両方で MySQL コマンドラインから機能し、PHP から呼び出されたときに機能します。すべての場合において、助成金は適切です。
Rから呼び出そうとしています:
裸のクエリは正常に実行されます。プロシージャ コールは次のエラーで失敗します。
RApache 警告/エラー!!! mysqlExecStatement(conn、ステートメント、...) のエラー: RS-DBI ドライバー: (ステートメントを実行できませんでした: PROCEDURE myDB.lee_expout は、指定されたコンテキストで結果セットを返すことができません)
MySQLのドキュメントによると
実行時にのみ結果セットを返すと判断できるステートメントの場合、PROCEDURE %s can't return a result set in the given context エラーが発生します。
プロシージャがそのエラーをスローする場合、R からだけでなく、すべての状況でスローされると考える人もいるでしょう。
これを修正する方法について何か考えはありますか?
r - RMySQL getQuery に動的な値を追加する
dbGetQuery
RMySQL パッケージからクエリに値を渡すことは可能ですか。
たとえば、文字ベクトルに一連の値があるとします。
そして、値をループして、それぞれのデータベースから特定の値を引き出したいと思います。
値への参照を追加しようとすると、エラーが発生します。クエリで R オブジェクトから値を追加できるかどうか疑問に思っています。
mysql - RMySQL でフェッチされた整数列を double に変換できない
での変換は機能してas.double
いるように見えますが、非整数を追加すると整数に切り捨てられます。たとえば、これはセットアップです:
これまでのところ、すべてが期待どおりです。しかし、それに 0.5 を追加しようとすると、double であると表示されますが、小数部分が整数のように切り捨てられます。
MySQL データベースの列は次のとおりです。`total_time` int(32) default NULL
このベクトルにジッターを追加する必要があるため、気が狂いそうになります。どんな助けでも大歓迎です。最後に、sessionInfo():
mysql - RMySQLパッケージをRに追加すると失敗します(Windows上)?
RMySQL パッケージがインストールされない理由がわかりません。次のような結果が得られます。
正しい値がレジストリにあるように見えるため、MySQL のインストールに問題があるとは思いません。
困惑。どんな助けでも大歓迎です!
r - Rとのデータベースの相互作用におけるフィールドタイプの処理
RMySQLとMySQLデータベースを使用してデータセットを保存しています。データが改訂されたり、結果がデータベースに保存されたりすることがあります。簡単に言えば、私のユースケースでは、Rとデータベースの間にかなりの相互作用があります。
ほとんどの場合、データの書き込みと読み取りには、やdbWriteTable
などの便利な関数を使用します。dbReadTable
残念ながら、これらはRデータ型とMySQLフィールド型を完全に無視しています。つまり、MySQLの日付フィールドは最終的にDate
またはPOSIX
クラスになると思います。逆に言えば、これらのRクラスはある程度対応するMySQLフィールドタイプとして格納されていると思います。つまり、日付は文字であってはなりません–ここでfloatとdoubleを区別することは期待していません...
私も使用しようとしましたdbGetQuery
–同じ結果があります。マニュアルを読んだときに完全に見逃したものはありますか、それともこれらのパッケージでは(まだ)不可能ですか?うまく回避するにはどうすればよいですか?
編集:@mdsummerドキュメントでもっと何かを見つけようとしましたが、これらの残念な行だけが見つかりました: `MySQLテーブルはdata.framesとしてRに読み込まれますが、文字または論理データを強制的に要素に変換することはありません。同様に、data.framesをエクスポートする場合、ファクターは文字ベクトルとしてエクスポートされます。
整数列は通常、Rの倍精度ベクトルに強制されて切り捨てを回避するBIGINTやUNSIGNED INTEGERなどの場合を除いて、Rの整数ベクトルとしてインポートされます(現在、Rの整数は32ビットの符号付きの量です)。
時間変数は文字データとしてインポート/エクスポートされるため、これらをお気に入りの日付/時刻表現に変換する必要があります。
r - RMySQL を使用して MySQL データベースに接続する
RSQLite
からに移動していますが、 フィールドとフィールドRMySQL
に混乱しています。FWIW、私は Windows 7、R 2.12.2、MySQL 5.5 (すべて 64 ビット)、および RMySQL 0.7-5 を実行しています。user
password
この以前の SO の質問RMySQL
で規定されているようにインストールしましたが、動作することがわかっている限り (つまり、.xml でパッケージをロードできます)。しかし、R データ インポート ガイドからチュートリアルを実行しようとすると、「データベースへの接続に失敗しました...」というエラーが表示されます。これは、ガイドのチュートリアルのコードです。library(RMySQL)
2 行目に次のエラーが表示されます。
admin as の有無user
にかかわらず試してみました。また、以前に作成したコマンドラインと存在しないものを使用してみました。password
user
dbname
任意のヒント?ここに良いリファレンスはありますか?ありがとう!
r - 同じセッションで RSQLite と RMySQL との競合を解決する
これが/の競合であるかどうかはわかりませんが、これまでのところ、それが私の最善の推測です。RSQLite
RMySQL
RMySQL
以前は MySQL データベースからデータを取得していましたが、その接続を で閉じますdbDisconnect()
。次に、パッケージRLBigDataLinkage()
内の関数を使用してレコード リンク プロセスでこれらのデータを使用します。この関数は、SQLite データベースとパッケージを使用します。これは、それらすべてをメモリに保持するために 2 つの多くの可能な一致があるためです。ドキュメントからわかる限り、SQLite 接続を明示的に閉じる方法はありません。RecordLinkage
RSQLite
次に、これらの一致を使用して、MySQL データベースからより大きなデータセットを取得しますRMySQL
。データベースに接続できますが、クエリを実行すると次のエラーが発生します。
これは、些細なクエリでも発生します。
ただし、MySQL コマンド ラインからクエリを実行することはできます。
「不明な」RSQLite
接続を切断する方法はありますか? ありがとう!
mysql - プロキシ設定を使用してWindows7にRMysqlをインストールする方法
私はWindows764ビット上のR2.13.0へのRMysqlのインストールと戦っています。私のmysql5.5、64ビットのバージョン。エラーが発生した手順は次のとおりです。
- RToolsをインストールします
- FAQ@CRAN
setInternet2(TRUE)
の後に電話してプロキシを設定します - MYSQL_HOMEを設定します:SOのこの投稿の
Sys.setenv("MYSQL_HOME"="C:\\Program Files\\MySQL\\MySQL Server 5.5\\")
後 - Rコンソールで呼び出す:
install.packages("RMySQL", type="source")
4の後、次のエラーが発生しました。
4の代わりに、パッケージをインストールするだけですinstall.packages("RMySQL")
。この場合、私は次のようになりました。
R updateを呼び出すことができるので、接続に問題はないと確信しています。誰かが私がRからmysqldbにアクセスする方法を見つけるのを手伝ってもらえますか?
ps。これがsessionInfo()からの出力です
更新:プロキシなしでインターネットに直接接続しましたが、次のようになりました。
mysql - サブセット化する最速の方法-data.tableとMySQL
私はRユーザーですが、大きなデータセット(数千万行)をサブセット化する必要がある関数を作成する必要があることがよくあります。このような関数を多数の観測に適用する場合、実装方法に注意しないと非常に時間がかかる可能性があります。
これを行うために、data.tableパッケージを使用することがあります。これにより、データフレームを使用したサブセット化よりもはるかに高速になります。最近、私はRMySQLのようなパッケージの実験を開始し、いくつかのテーブルをmysqlにプッシュし、そのパッケージを使用してsqlクエリを実行して結果を返しました。
パフォーマンスの改善が混在していることがわかりました。小さいデータセット(数百万)の場合、データをdata.tableにロードし、適切なキーを設定すると、サブセット化が高速になるようです。より大きなデータセット(数千から数億)の場合、mysqlへのクエリの送信はより速く移動するように見えます。
どの手法が単純なサブセット化または集計クエリをより速く返す必要があるか、そしてこれがデータのサイズに依存するかどうかについて誰かが洞察を持っているかどうか疑問に思っていましたか?data.tableにキーを設定することは、インデックスを作成することにいくぶん似ていることを理解していますが、それ以上の直感はありません。
r - RMySQL: 抽出されたデータの変換
列が に設定されているデータベースから数値データを抽出しようとしていますVARCHAR(100)
。関連する列のすべてのデータは数値であるため、整数としてフォーマットされたデータを抽出しても問題はありません。Rでこれを行う良い方法はありますか?
これが私が得たものです:
以下を実行します。
次のエラーが発生します。
実行:
生成: