Casual Developers Note

エンジニアやデザイナー向けの技術情報・英語学習情報・海外留学情報・海外旅行情報を提供中。世界を旅して人生を楽しもう。

  • ホーム
  • 技術 Tips & Tutorials
  • 技術塾
  • ライフハック
  • 海外留学
  • 英語学習
  • コラム
  • お問い合わせ
現在の場所:ホーム / アーカイブwindows

2014年1月24日 By KD コメントを書く

[tips][Perl] PerlでSQLplusからOracleのDBにアクセスする方法

[tips][Perl] PerlでSQLplusからOracleのDBにアクセスする方法

PerlにはDBIという便利なモジュールがあり、そのモジュールを使えばOracleのDBにアクセスることは簡単です。ただ、開発環境というのは残念ながら自分の自由になるとは限りません。マイグレーションの案件に関わったことがある人なら痛いほど分かることでしょう。

今回は、DBIをあえて使わず、SQLplusを使ってDBにアクセスする方法を紹介します。

さっそくですが、以下のように書くと、PerlからSQLPlusを呼び出せます。

# 実行するクエリー
my @querys = ("SELECT * FROM dba_users;", "SELECT * FROM all_users;");

# SQLPlusの設定
my $option = '-s'
my $login = "$sqlplus_username/$sqlplus_password@$sqlplus_hostname";

# ログイン
open my $sqlplus, "| sqlplus $option $login" or die("Exception : Can't login SQLPlus.$!");
# SQLPlus実行
foreach my $query @querys {
    print $sqlplus $query , "n";
}
# ログアウト
close $sqlplus or die "Exception : Can't logout SQLPlus.$!";

この方法のコツは、「|」(パイプ)です。Perlからの出力先をSQLPLusにすることで、ログイン -> コマンドを実行 -> ログアウトを実現しています。

このやり方を実際にやってみると、SQLPlus自体の文字数制限によって、クエリーが失敗することに気づきます。それを考慮したサンプルコードが以下です。

以下のコードで確認できます。

これで、Perlにモジュールを追加することなく、OracleのDBにアクセスできますね。ググっても意外と見つからなかったので、書いてみました。

サンプルコード自体はまだまだ改善の余地があるので、良いコードがあったら教えてください。

<環境>
OS : Windows7
Perl : Perl5.16.3

カテゴリ : 技術 Tips & Tutorials タグ : oracle, perl, tips, tumblr-imported, windows

2014年1月20日 By KD コメントを書く

[tips][bat] バッチで「ツェラーの公式」による曜日の計算をする。

[tips][bat] バッチで「ツェラーの公式」による曜日の計算をする。

「ツェラーの公式」というのは曜日を計算するための公式です。詳しくはWikipediaに任せて、ここではバッチでのコードをお見せします。

以下がバッチのツェラーの公式のコードです。

「WEEK」という環境変数に結果が格納されているので、以下で確認できます。

曜日の計算方法はたまに役に立つことがありますから、知っていて損はないでしょう。まあ、バッチである必要はまったくないんですけどね。

<環境>
OS : Windows7

カテゴリ : 技術 Tips & Tutorials タグ : bat, tumblr-imported, windows

2014年1月13日 By KD コメントを書く

[tips][Sublime Text] Sublime Text 3でPackage Controlを使う時のproxyの設定方法

[tips][Sublime Text] Sublime Text 3でPackage Controlを使う時のproxyの設定方法

前回はSublime Text 3をインストールして最初にすることに関して説明しました。

基本的にはそれOKなのですが、家で設定ができても、職場でエラーが出てうまくいかないケースがあります。今回はプロキシ問題に関する対処方法を紹介します。

[tips][Sublime Text] Sublime Text 3をインストールしたらまずやること

「Package Control」をコマンドラインからインターネット経由でインストールする場合のエラー

Ctrl + `でコマンドラインを表示してから、以下のコマンドを実行して、失敗した場合の対処方法です。

import urllib.request,os,hashlib; h = ‘7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(’ ’, ’%20’)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb’ ).write(by)

(1)「urllib.error.HTTPError: HTTP Error 407: 407」
原因は、プロキシです。
以下のようにコマンドにプロキシ設定を追加して実行しましょう。

import urllib.request,os,hashlib; h = ‘7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0’; pf = ‘Package Control.sublime-package’; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler({‘http’: ‘http://プロキシのユーザ名:プロキシのパスワード@プロキシサーバのアドレス:ポート番号’})) ); by = urllib.request.urlopen( ‘http://sublime.wbond.net/’ + pf.replace(’ ’, ’%20’)).read(); dh = hashlib.sha256(by).hexdigest(); print(‘Error validating download (got %s instead of %s), please try manual install’ % (dh, h)) if dh != h else open(os.path.join( ipp, pf), ‘wb’ ).write(by)

(2)「Package Control: Error downloading channel. HTTP error 407」
(1)の対処をした場合でも発生する原因不明のエラーです。
「Sublime Text 3」を再起動すれば解決します。バグでしょうか?

「Package Control」を使う場合のエラー

Ctrl + Shift + Pでコマンドパレットを表示してから、「Package Control: Install Package」を使用で失敗した場合の対処方法です。

(1)「package control there are no packages available for installation」
原因は、プロキシです。
「Prefirences -> Package Settings -> Package Control -> Settings – User」にプロキシ設定を追加しましょう。

(2)「errno 12057」
原因は、SSL証明書の失効を検証できないことです。(類似事例)
以下のインターネットオプションの設定を変更しましょう。
「コントロールパネル -> インターネットオプション -> 詳細設定」
「セキュリティ」項目の「サーバーの証明書失効を確認する*」のチェックをはずしましょう。

これで、プロキシを突破してPackage Contorlを使いこなせますね。

環境

OS : Windows7
Sublime Text : Sublime Text 3

カテゴリ : 技術 Tips & Tutorials タグ : package control, proxy, sublimetext, tumblr-imported, windows

  • « 前のページ
  • 1
  • 2
  • 3
  • 4
  • 5
  • 次のページ »

ブログ更新情報や海外の関連情報などを配信する無料メルマガ

Sponsored Links

About Author

KD

世界を旅し日本を愛するエンジニア。大学でコンピュータサイエンスの楽しさを学び、日本の大手IT企業で働く中で、新しい技術やスケールするビジネスが北米にある事に気づく。世界に挑戦するための最大の壁が英語であったため、フィリピン留学およびカナダ留学を経て英語を上達させた。現在は日本在住でエンジニアとして働きつつ、次の挑戦に備えて世界の動向を注視している。挑戦に終わりはない。このブログでは、エンジニアやデザイナー向けの技術情報から、海外に留学したい人向けの留学情報、海外に興味がある人向けの海外旅行情報など、有益な情報を提供しています。

https://casualdevelopers.com/

最近の投稿

  • 2020年JS周辺のバックエンド寄りの注目技術!ネクストNodeJSの「Deno」と分散型パッケージレジストリの「Entropic」の紹介

    2020年JS周辺のバックエンド寄りの注目技術!ネクストNodeJSの「Deno」と分散型パッケージレジストリの「Entropic」の紹介

    2020年1月13日
  • 今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~

    今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~

    2019年11月4日
  • ReactのためのEslintおよびPrettierの設定方法 ~Airbnb JavaScript Style Guideの適用~

    ReactのためのEslintおよびPrettierの設定方法 ~Airbnb JavaScript Style Guideの適用~

    2019年10月30日
  • BashからZshに移行する方法(Mac編)

    BashからZshに移行する方法(Mac編)

    2019年10月21日
  • Create React Appを使わないでゼロからReactの開発環境を構築する方法(Webpack/Docker編)

    Create React Appを使わないでゼロからReactの開発環境を構築する方法(Webpack/Docker編)

    2019年9月30日

カテゴリ

  • 技術 Tips & Tutorials (100)
  • 技術塾 (6)
  • ライフハック (26)
  • 海外留学 (12)
  • 英語学習 (3)
  • コラム (6)

アーカイブ

最高の学習のために

人気記事ランキング

  • MySQLで「ERROR 2003 (HY000): Can't connect to MySQL server」と怒られた時の対処法
    MySQLで「ERROR 2003 (HY000): Can't connect to MySQL server」と怒られた時の対処法
  • Jupyter Notebookで「The kernel appears to have died. It will restart automatically.」というエラーが出た場合の原因と対処法
    Jupyter Notebookで「The kernel appears to have died. It will restart automatically.」というエラーが出た場合の原因と対処法
  • SAKURAのメールボックスで独自ドメインのメールを設定し、Gmail経由で送受信する方法
    SAKURAのメールボックスで独自ドメインのメールを設定し、Gmail経由で送受信する方法
  • バンクーバー留学豆知識:バンクーバーのATMで日本の銀行のキャッシュカードを使ってお得にお金を引き出す方法
    バンクーバー留学豆知識:バンクーバーのATMで日本の銀行のキャッシュカードを使ってお得にお金を引き出す方法
  • Amazon EC2インスタンスにSSHできなくなった時の対処法
    Amazon EC2インスタンスにSSHできなくなった時の対処法
  • Expressで「Cannot set headers after they are sent to the client」と怒られた時の対処法
    Expressで「Cannot set headers after they are sent to the client」と怒られた時の対処法
  • TumblrからWordPressにブログ移転する最適な方法
    TumblrからWordPressにブログ移転する最適な方法
  • SpringBootのProfile毎にプロパティを使い分ける3つの方法
    SpringBootのProfile毎にプロパティを使い分ける3つの方法
  • 今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~
    今さら聞けないJavaによる関数型プログラミング入門 ~ラムダ式、ストリーム、関数型インターフェース~
  • バンクーバー留学豆知識: バンクーバーのカジノを攻略せよ!必勝法を公開します!
    バンクーバー留学豆知識: バンクーバーのカジノを攻略せよ!必勝法を公開します!

Bitcoin寄付 / BTC Donation

Bitcoinを寄付しよう

BTC
Select Payment Method
Personal Info

Donation Total: BTC 0.0010

このブログの運営のためにBitcoinでの寄付を募集しています。お気持ち程度の寄付を頂けると管理者の励みになります。

Bitcoin寄付について知りたい方はこちらの記事へ

ビットコイン取引ならここ

  • ホーム
  • 技術 Tips & Tutorials
  • 技術塾
  • ライフハック
  • 海外留学
  • 英語学習
  • コラム
  • サイトマップ
  • タグ一覧
  • プライバシーポリシー
  • お問い合わせ

Copyright © 2023 KD - Casual Developers Notes