SQL Server 2017のIntegration Services(SSIS)に、SQL Server Management Studio(v18.4)から接続できなかった話
SQL ServerにSSIS環境を構築してテストする必要があり、ローカル環境にSQL Server 2017のデータベースとIntegration Services(SSIS)、それからSQL Server Management Studio(SSMS)をインストールしてテストしていた時の話。めちゃめちゃニッチだが誰かの役に立つかもしれないのでメモとして残しておく。
Integration Servicesに接続できない
SQL ServerとSSMSのインストールは正常終了。だけど、以下のようなエラーが発生し接続できなかった。
バージョンを揃えたらエラー内容が変わった
こちらによると、
SQL Server Integration Services (SSIS) - SSMS バージョン 17.x 以降では、レガシ SQL Server Integration Services サービスへの接続はサポートされません。 以前のバージョンのレガシ Integration Services に接続するには、SQL Server のバージョンに対応する SSMS のバージョンを使用します。 たとえば、レガシ SQL Server 2016 Integration Services サービスに接続する場合は、SSMS 16.x を使用します。
SQL Serverの方と、SSMSの方のバージョンを合わせておく必要があることが分かった。 SQL Serverの方はバージョン2017なので、それに合わせて、SSMSもv17.9.1をインストール。 その後、v17.9.1のSSMSから接続を試みてみたら、エラーメッセージが変わった。おお、少し希望の光が見えてきた。
管理者権限で実行
こちらによると、管理者権限で実行してみるといいらしい。 ということで、管理者権限でSSMS自体を起動したらめでたく接続できました。良かったー。
それにしてもツールの上位互換を切り捨てているなんてMicrosoftさんらしくないな。最近はそうでもないのかな?分らんけど。
おわり。
参考
SQL Server Management Studio (SSMS) のダウンロード - SQL Server | Microsoft Docs
ThunderbirdのProfilesをシンボリックリンクで別フォルダに指定
Thunderbirdの1アカウント、1プロファイルという設定ファイルで管理されているみたい。 各プロファイルはデフォルトで以下フォルダのProfilesフォルダに配置されている。 環境はWindows10です。
C:\Users\<ユーザ名>\AppData\Roaming\Thunderbird\Profiles
Profilesフォルダの下には、各メールプロファイルのフォルダが入るようになっている。
ちょっとCドライブに置かれると容量の問題などで困るため、
Profilesフォルダごと実態をOneDrive管理のフォルダの方に作っておいて、
そちらにProfilesのシンボリックリンクを張ることにした。
(ちなみに、各Profileがどこにあるかは、上記Thunderbirdフォルダのprofiles.ini
にて管理されている。今回は内容は割愛)
シンボリック作成コマンド(PowerShell)は以下のような感じ(管理者で実行)
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Windows\system32> cd C:\Users\<ユーザ名>\AppData\Roaming\Thunderbird PS C:\Users\<ユーザー名>\AppData\Roaming\Thunderbird> New-Item -Path . -Name Profiles -ItemType SymbolicLink -Value "<Path to OneDrive>\Profiles" ディレクトリ: C:\Users\<ユーザ名>\AppData\Roaming\Thunderbird Mode LastWriteTime Length Name ---- ------------- ------ ---- d----l 2019/12/01 14:36 Profiles PS C:\Users\<ユーザ名>\AppData\Roaming\Thunderbird>
できあがり
これでメールデータ自体はクラウドでもバックアップされるし将来の移行も簡単になる。
参考
Thunderbirdのメールやプロファイルの保存場所の変更方法
Windowsでもシンボリックリンクが使える話
(illust by いらすとや)
実は
WIndows7のころから、実はWindowsでもシンボリックリンクが使えるようになっていた。現場ではあまり実用されているところにお目にかかったことがないのだが、色んなフォルダから同じファイルをツツきたいなと思い、ふとWindowsでもそういえばシンボリックリンクが使えるんじゃなかったっけ?と思い出した次第。
MKLINKコマンド
早速ですが構文を示す。こちらを参考。
mklink [[/d] | [/h] | [/j]] <Link> <Target>
このメイクリンク(と読むのかな?)コマンドはシンボリックリンク
、ハードリンク
、あとジャンクション
が作成できる。ん?ジャンクションって何だ?詳しい説明は参考にしたサイトを見てほしい。簡単に言うと、シンボリックリンクと同じようなものだ。
ハードリンクはまぁちょっと考え方が違うので、また別の機会に記事にでもするとして、今回はシンボリックのお話。
ファイルのシンボリックリンク
mklink <シンボリックリンク名> <ファイルへのパス>
ファイルの場合はオプション要らない。
フォルダのシンボリックリンク
mklink /d <シンボリックリンク名> <ファイルへのパス>
ディレクトリの場合は/d
オプションを付ける。
なお、ファイルへのパスは相対参照でも絶対参照でもいけるみたい。
例 (Win10で試したところ)
以下は、現在のバージョンのJDKのフォルダを指すシンボリックリンクをC:\temp
に作成する例だ。C:\temp
に移動してから以下のようにする。
mklink /d java-currentver "C:\Program Files\Java\jdk-13.0.1"
なお、コマンドプロンプトは管理者権限で実行する必要がある。Win + R
でcmd
と打って、Ctrl + Shift + Enter
で管理者権限でコマンドプロンプトが立ち上がる。
出来上がったシンボリックリンクを見た目はショートカットと同じ
中に入ってみると、temp
の下にjava-currentver
があるように見える。
参考にしたサイト
IT用語斜め読み - サプスクリプション
(photo by Pixabay)
最近のIT用語検索トレンド
いつもお世話になってるいる IT用語辞典 e-Wordsさんの 2019年11月17日(日)のアクセスランキングを見てみると、
1位 JavaBeans 2位 インフラ 3位 サインイン 4位 ディスパッチ 5位 Web 6位 API 7位 Apache 8位 サブスクリプション 8位 ツール 10位 ステアリングコミッティ 10位 HD 10位 モダナイゼーション
となっていました。今回はこの中で気になった8位のサプスクリプション
についてです。
サプスクリプションって何?
最近お仕事でMicrosoft Officeが必要になったため、Office365 for Businessを購入しました。その際にもサプスクリプションという単語が出てきて良く分からないなぁと思っていました。
サブスクリプション 【subscription】 別名: サブスクライブsubscribe サブスクリプションとは、予約購読、購読料、会費、寄付(金)、出資(金)、応募、申込、加入、署名、承諾などの意味を持つ英単語。雑誌などの定期購読といった意味があり、ITの分野ではこの意味を元に、会員制のサービスへの加入や、定期的に利用権を更新するソフトウェアの販売方式などを指すことが多い。
なるほど、定期購読ね。製品を一括で購入するのではなく、月々など、定期的に支払いをすることで、そのソフトウェアの使用権を得る感じですね。Kindle Unlimitedとか、Apple Musicとかもこのスタイルですね。
今回のOffice365に関して言えば、常に更新が入って最新版のOffice環境が手に入り、月々1,000円程度といった感じです。買い切りよりも良いんじゃないかな?と個人的には思います。
ビジネスモデル
今後のアプリケーションのビジネスモデル的に見ても、このサプスクリプションの流れが主流になってきているのではないかな?思います。 今は誰でもがスマートフォンを持っ時代ですし、昔のように、固定端末で一度最初にインストールしたアプリをずっと固定で使い続けるという機会も減ってゆくと思います。 かわりにサプスクリプションで月額料料金を支払って、最新版アプリをどこの環境でも利用できる、そんな感じの世の中になってきていますね。
おわりに
私も、長らく使い続けてもらえるような素敵なアプリを作っていけたらなと思います。
PowerShellについて誤解していたこと
PowerShell使ってますか?当記事ではPowerShellについて誤解していたことを書きたいと思います。
目次
PowerShellとの再会
最近、お仕事でWindows系サーバーの移行などやることになったのですが、その際に今までよりもWindowsと仲良くしないといけなくなりました。そんな中で再会したのがPowerShellです。
PowerShellはコマンドプロンプトの後継として結構昔からあって、存在は勿論知っていたんですが、Windowsは長らくbatファイルしか扱えないし、大したこともできないんだわ、は~Bashが使いたいなぁ~と、それこそ食わず嫌いのように過ごしてきました。しかし、今回のお仕事で軽くPowerShellでスクリプトを組むことになりそうで、PowerShellに遅ればせながら入門する形となったわけです。
PowerShellの何が良いか
一言で言うなら、バッチ(bat)で出来ないあれやこれやが簡単にできることです。例えば、Windows PCしかない環境でファイルのハッシュ値を知りたいな♪ となった場合、どうしますか?お好みのスクリプト言語をインストールしますか?場合によってはインストール禁止の現場もありますよね。そんな時、PowerShellなら簡単に実現できるんです(以下)
PS C:\temp> Get-FileHash .\test.txt Algorithm Hash Path --------- ---- ---- SHA256 43940E53EB7D524938CE68BE5446BB68BBB87095125878D33979A83637DC261A C:\temp\test.txt PS C:\temp> Get-FileHash -Algorithm MD5 .\test.txt Algorithm Hash Path --------- ---- ---- MD5 7AD3ADF4EB7E0E46BE649DB2752F3CF0 C:\temp\test.txt
PowerShellスクリプト
PowerShellをスクリプトとして保存しておいて(拡張子は.ps1)使うとさらに便利です。なぜなら、変数が使えたり、if-elseやswitch、foreachなどの構文も使えたりするからです。また、PowerShell ISEという専用のIDEも標準でWindowsに付属しており、これを使ってスクリプトコードの編集、コーディング中はコード補完もあるし、スクリプトの実行やデバッグ実行なども出来たりするのです。結構すごいなと思います。
なぜバッチファイルは不便なままなのか
Windows10になってもバッチ(bat)の言語仕様は強化されないしずっと昔のまま使いづらいなぁ…と思っていましたが、PowerShellはその間もずっとバージョンアップが続けられてきていたようでした。つまりバッチはもうシェルとしては打ち止めで、これからのシェルとしてはPowerShellに全力を注ぎますよと、そんなマイクロソフトの意気込みが感じられます。
PowerShellが初見さんに敬遠される理由
私も含めですが、あまりWindowsユーザに広く浸透しているとは思えないPowerShell、そんなPowerShellが初見さんに敬遠される理由の一つに、コマンドが長くて打つのが面倒!新しく覚えるのが面倒!というのがあると思います。
たとえばディレクトリを変更するコマンド(いわゆるcd)は・・・
PS C:\> Set-Location "C:\temp" PS C:\temp>
ただし、ここらへんはトレードオフな気がします。古きを捨て新しいものを作るには勇気や思い切りがいるものです。そういった意味でPowerShellの取った方針は英断だったと私は思います。短い変数名や関数名が好まれて使われるC言語から、意味が明確になるなら長いクラス名やメソッド名を歓迎するオブジェクト指向の世界へシフトしたような感覚です。 ちなみに、PowerShellにはalias機能があって、良く使う慣習的なコマンドはデフォルトでaliasが割り当てられています。たとえばcdとかdirとかlsとか。ただしこれもやり過ぎには注意が必要なのではないでしょうか。何でもLinuxコマンドに倣うのではなくて、alias機能は過去の慣習への互換性のために使うのがよいと思います。上記のSet-Locationなどはそれこそcdで良いかなと。
おわりに
まぁそんなわけで、バッチ(bat)ファイルの黒魔術に絡めとられて現場でお困りの皆さんがおられましたら、ちょっと手を止めて、黒いウインドウを閉じて、少し群青色がかったウインドウを開いてみるのはいかがでしょうか。
参考
PowerShell/PowerShellでファイルのハッシュ値を確認する方法・Get-FileHash - Windowsと暮らす
ロマサガ3 リマスター版にGradleが使われていた
2019年11月11日にオリジナル版から実に24年の時を経て、ロマンシング サガ3のリマスター版が発売されました。今回は8つのプラットフォームで発売されました。私はiOS版を早速購入しました。
さて、タイトルを眺めていたら、右上に「ライセンス」とあったので、何気なくタップ。すると「ライセンス」のテキストが出てきて、
なんとGradleが入ってる!
なんというか、当時スーファミ版が開発されていた時には勿論使われていなかった技術でしょうし、というか存在すらしていなかった技術でしょうが、それが今改めて開発するときには使われるというのは、何か感慨深いものがあります。
それから、自分が普段から使っているのと同じビルドシステムを使ってこういった巨大なゲームプログラムも開発されるんだなぁという点にがとても興味深い。万物はクォークから出来ている、ってのと同じようなインパクトが私にはありました。(ロマサガ3もGradleでビルドされている)
世界は広いようで狭いですね。