問題タブ [google-cloud-sql]

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.

0 投票する
2 に答える
1433 参照

java - Google Cloud SQL と Google アプリ エンジン

このチュートリアルを行いましたhttps://developers.google.com/cloud-sql/docs/developers_guide_java マシンでローカルにアプリを実行すると、Eclipse のコンソールでエラーが発生します

java.security.AccessControlException: java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) で java.security.AccessController.checkPermission(AccessController.java: 546) で java.lang.SecurityManager.checkPermission(SecurityManager.java:532) で com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:252) で java.lang.SecurityManager.checkPackageAccess(SecurityManager .java:1512) で org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:114) で org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) で java.lang.Class. java.sql の java.lang.Class.forName(Class.java:247) の forName0(ネイティブ メソッド)。DriverManager.getCallerClass(DriverManager.java:477) at java.sql.DriverManager.getConnection(DriverManager.java:576) at java.sql.DriverManager.getConnection(DriverManager.java:207) at org.apache.jsp.guestbook_jsp._jspService (guestbook_jsp.java:64) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) で javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で org.apache.jasper. org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) の servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) のcom.google.appengine.tools.development.PrivilegedJspServlet.access$101(PrivilegedJspServlet.java:23) で com.google.appengine.tools.development.PrivilegedJspServlet$2.run(PrivilegedJspServlet.java:59) java.security.AccessController.doPrivileged(Native Method) で com.google.appengine.tools.development.PrivilegedJspServlet.service(PrivilegedJspServlet.java:57) で javax.servlet.http.HttpServlet.service(HttpServlet.java: 717) org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) で org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) で com.google.appengine.tools org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) の .development.BackendServersFilter.doFilter(BackendServersFilter.java:97) org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java) :388) org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) で org.mortbay.jetty.servlet.SessionHandler で。ハンドル (SessionHandler.java:182) の org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) の org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) の com.google .appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78) org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:327) org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher) .java:126) で com.google.appengine.tools.development.StaticFileUtils.serveWelcomeFileAsForward(StaticFileUtils.java:80) で com.google.appengine.tools.development.LocalResourceFileServlet.maybeServeWelcomeFile(LocalResourceFileServlet.java:254) で com. javax.servlet.http.HttpServlet の google.appengine.tools.development.LocalResourceFileServlet.doGet(LocalResourceFileServlet.java:120)。org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) で javax.servlet.http.HttpServlet.service(HttpServlet.java:717) でサービス (HttpServlet.java:617) org.mortbay.jetty で.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1157) com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60) で org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) で) org.mortbay.jetty.servlet.ServletHandler$CachedChain の com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) で。doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) で org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) で org.mortbay.jetty.servlet .ServletHandler.handle(ServletHandler.java:388) で org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) で org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) でorg.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) で org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78) で org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) で com.google.appengine.tools .development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:363) で org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) で org.mortbay.jetty.Server.handle(Server.java:326) ) org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) で org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) で org.mortbay.jetty.HttpParser.parseNext(HttpParser. java:547) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) で org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) で org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) で

しかし、アプリは動作しています。次に、アプリをgaeにデプロイします。アプリに入ると、エラーが発生します*

エラー: サーバー エラー サーバーでエラーが発生したため、要求を完了できませんでした。問題が解決しない場合は、問題を報告し、このエラー メッセージとその原因となったクエリをお知らせください。

誰が私を助けることができます?

0 投票する
1 に答える
1191 参照

spring - Hibernate SessionFactory:Beanをインスタンス化できません

誰かがこのエラーを認識していますか?

さて、私はこのSpring3構成を持っています:

このコードには何も問題はありません。すべての依存関係、最新バージョンがあります。

編集:私のpom.xmlの一部

0 投票する
1 に答える
415 参照

spring - SpringなしのHibernate SessionFactory Bean

GAE の制限により、Spring セッション ファクトリを使用できません。

興味がある場合は、私の他の質問を参照してください: Spring Autowiring が GAE で動作しなくなりました

今、org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean なしでセッション ファクトリを作成したい

休止状態のものだけを使用して、純粋なセッション ファクトリ Bean を構成するにはどうすればよいですか?

0 投票する
2 に答える
615 参照

python - GoogleAppEngineのDjango:パフォーマンスのハウツー

私は数週間前にこの質問をしました。今日、私は実際に標準のDjangoアプリケーションを作成してリリースしました。つまり、 Google CloudSQLによって有効化された完全に機能するリレーショナルDBに裏打ちされた(したがって完全に機能するDjango管理者)。標準のDjangoの方法から逸脱しなければならなかったのは、電子メールを送信することだけでした(GAEの方法で行う必要がありました)。私のセットアップは、、でGAE 1.6.4Python2.7以下Django 1.3を使用していますapp.yaml

ただし、このDjangoアプリがコールドのときに、最初のリクエストの応答時間を改善するための明確な実行可能な手順を提案する必要があります。私はGAEに簡単なwebapp2Webサイトを持っていますが、これはDBにヒットせず、寒いときの応答時間はです1.56s。Djangoは、コールドcount(*)時に2つのクエリ(それぞれ300行未満のテーブルに対する2つのクエリ)でDBにヒットし、応答時間は10.73s!ホームページを奨励していません;)

頭に浮かぶのは、middleware不要なクラスやその他のDjango固有の最適化を削除することです。ただし、GAEの観点からも改善するためのヒントは非常に役立ちます。

NB私はこれがGAEでDjangoに行くことのメリットについての議論になることを望んでいません。私の個人的なDjangoの専門知識と、その結果としての開発の生産性は、他のフレームワークとは対照的に、Djangoの採用にかなりの影響を及ぼしたと言えます。さらに、CloudSQLを使用すると、Djangoコードはほとんど(またはまったく)変更せずに他の場所でも機能するため、GAEから簡単に移行できます(できればそうではありません!)。このようなトピックに関する関連する議論は、ここここにあります。

0 投票する
1 に答える
336 参照

spring - AppEngine + CloudSQL + Hibernate:@Transactionalは禁止されています

質問を参照すると、SpringAutowiringはGAEでの動作を停止しました。

AppEngineで@Transactionalhibernate-jpaアノテーションを使用できないのはなぜですか?

AOP(aspectj)構成も機能しません。

わからない部分でjavax.naming.NamingExceptionを使用しており、javax.namingはGAEでブラックリストに登録されています。

回避策を知っている人はいますか?

現在、(Spring Hibernate PlatformTransactionManagerを介して)「手動」プログラムトランザクションを使用していますが、あまり快適ではありません。

0 投票する
1 に答える
2619 参照

php - GAEとGoogleCloudSQLを使用したPhP

で実行するphpを使用してWebアプリを作成していgoogle app engineます。google cloud sqlデータの保存に使用したい。開発中にローカルMySQLインスタンスを使用しました。私は自分のプロジェクトに追加quercusし、既存のmysqlデータベースからデータを取得するための簡単なphpコードを作成しました。しかし、phpファイルを実行すると以下のエラーが発生しました。

phpファイルの6行目は、

エラーは何ですか?どうすればこれを修正してデータを取得できますか?

0 投票する
4 に答える
5021 参照

python - Google Cloud SQL(GAE)Pythonアプリでデータベース接続を管理するための優れたアプローチは何ですか?

私はGoogleAppEngineを学んでいて、Google Cloud SQLインスタンスへのデータベース接続を管理するための優れたアプローチを見つけようとしています(GC-SQLを使用したことがない場合は、基本的に、クラウド内のMySQLです。制限)。

リクエストを処理するために、webapp2フレームワークを備えたpython(2.7)GAE環境を使用しています。よくある質問では、リクエストごとにDBへの新しい接続を確立することをお勧めしていると書かれていますが、接続を閉じるための推奨される方法がわかりません。開発中にテーブルを削除しようとするたびに、GC-SQLがハングし、「show processlist」は、多数のプロセスがあり(おそらく、DBを閉じていないため)、そのうちの1つがロックを待機していることを示します(おそらく、テーブルを削除しようとしているプロセス)。これは煩わしく、GC-SQLインスタンスを再起動する必要があります(mysql-serverサービスの再起動のように想像します)。また、DB接続を実際に閉じていないという事実に関連していると私が信じるDBの一時的な中断もあります。

したがって、たとえば、DBから切断するためにwebapp2.Requesthandlerサブクラスインスタンスにデストラクタを設定する必要がありますか?GAEオブジェクトは時々キャッシュされるように見えるので、それも考慮すべきことです。クエリごとに接続/クエリ/切断するだけでよいと思いますが、これは最適ではないようです。

これは漠然とした質問だと思いますが、この分野でプレーしている人が私のやり方でいくつかのヒントを教えてくれることを願っています。

前もって感謝します!

更新: Shayの回答を出発点として、カーソルを必要とするメソッドのラッパーを実装してみました。GAEエラーが発生します。これに固有の新しい質問があります。AppEngineからのGoogleCloudSQLの接続制限と、DB接続を最適に再利用する方法を教えてください。

0 投票する
1 に答える
1284 参照

google-app-engine - flywayを使用してGoogleCloudSQLに移行するには、どのjarファイルをコピーする必要がありますか?

flywayコマンドラインツールを使用して、データベース(MySQL)ダンプファイルGoogleCloudSQLを移行しようとしています。google_sql.jarをflyway-commandline-1.6/jars /にコピーし、flyway-commandline-1.6 / conf/flyway.propertiesで次のプロパティを設定しました。

ただし、これは機能せず、次のエラーが発生します。

誰かがフライウェイがGoogleCloudSQLで動作するために必要なjarファイルを特定するのを手伝ってもらえますか?

0 投票する
2 に答える
1078 参照

django - Django 1.4 の ./manage.py テストで Thing2Literal インポートが返される

https://developers.google.com/cloud-sql/docs/djangoの手順に従いましたが、django 1.3.1 で問題なく動作しました。Django 1.4 までになり、面白いスタック トレースが得られます。メッセージの関連部分をここに貼り付けます

何か助けはありますか?コンパイルする必要があると言う人もいましたhttp://django-irc-logs.com/2012/mar/27/ ?

0 投票する
2 に答える
6965 参照

python - App Engine からの Google Cloud SQL の接続制限と、DB 接続を最適に再利用する方法を教えてください。

データの保存に Google Cloud SQL インスタンスを使用する Google App Engine アプリがあります。私のインスタンスは、それぞれが 1 つまたは少数の DB クエリをもたらす安らかな呼び出しを介して、一度に数百のクライアントにサービスを提供できる必要があります。DB アクセスが必要なメソッドをラップし、DB 接続へのハンドルを os.environ に格納しました。基本的に私がそれをどのように行っているかについては、このSOの質問/回答を参照してください。

しかし、数百のクライアントが私のアプリに接続してデータベース呼び出しをトリガーするとすぐに、Google App Engine エラー ログに次のエラーが記録され始めます (もちろん、私のアプリは 500 を返します)。

Google App Engine と Google Cloud SQL の経験豊富なユーザーからのヒントはありますか? 前もって感謝します。

DB接続を必要とするメソッドの周りで使用するデコレータのコードは次のとおりです。