Server)バッチでシステムドライブにあるmdfファイルをアッタチさせようとしたけれど。]phpMyAdminを使いMySQL4.0でUTF8を無理やり使う。>>>(SQL)テーブル名にハイフン入ってる時はクォートする必要ありSQLiteでついハイフン(-)入のテーブルを作ってしまい、以下の用なクエリを実行したらエラーになりました。name='moe';テーブル名にハイフンが入っていると、ダメなようです。Server)も同様みたいです。解決策としては、ハイフンを付けないか、以下のようにクォートしてやるかです。name='moe';しばらくSQLやDB触ってないとこうなっちゃいますね。入れてみたんですが、どうやら日本語に設定するとEUC-JPで動くらしく、UTF-8のデータをみると文字化けします。UTF-8のデータを扱う方法ですが、languageファイルの文字コードと定義を変更すればいいようです。下記ファイルをテキストエディタで開きます。lang\japanese.inc.php文字コード定義部分を下記のように修正します。'ja-utf-8';後は、languageファイルをUTF-8で保存します。これでUTF-8を扱えるようになりました。ログインでも四苦八苦する時があります。(MySQL)スクリプトファイルからクエリを実行する方法では、MySQLクライアントにログインしてから外部ファイルを読み込んでますが、今回はコマンドラインから直接外部ファイルを読み込むための方法です。こんな感じでOKみたいです。後に空白入れずにパスワードを入れる部分ですね。(空白を入れてしまっていました)外部ファイルは入力リダイレクト(<)でファイルを指定するだけでいけます。データベースログインユーザと、各データベースのユーザをSQLで列挙する方法です。テーブルに定義されているようです。テーブル定義されているようです。下記のようなSQLで確認できます。クエリ実行時に「式が複雑すぎます。」という例外で怒られました。確かに、WHERE句に相当数の条件を入れています。(パラメータクエリを使ってます。WHERE句に条件大量にあるとダメみたいです。具体的のどれくらいの数を超えたらNGかというのは見つかりませんでした。条件が大量の設定してます。IN句を使うべきと同僚に言われてました。言われてみれば、そんなのもあったなと。今まで、副問い合わせで複数値が返るときにか使ってませんでした。IN句に置き換えたらエラーはでなくなりましたとさ。)ま、結局は3流PGのSQLの知識不足ということでした。いう純粋なSQLに近い形しないとダメなようです。/*Accessだとヒットする。/*Accessだとヒットしない。コードに移植してたんですが、これに気付かずちょっとハマってしまいした。経由になるので、これからはこっち使ったほうが安全ですね。比較で解説されてます。下記の引用部分が、その仕様について言ってるところですね。組み合わせて使う場合だけです。ワイルドカード文字を使うと、リテラルとして解釈されます。ワイルドカード文字がリテラルとして解釈されます。現在日時を取得して、整数の文字列として保存する方法です。変える方法にしてみました。型のフィールドへは暗黙的キャストで入れれるので、特に何もしてません。復元する権限がありません。Serverエラーナンバー:3110と怒られました。調べてみると、復元を実行するユーザは以下のいずれかのメンバでないとけないようです。サーバロールのメンバにユーザ加えることで対応しました。ユーザでログインし、データベースを復元しようとすると下記のようなエラーが。データベースを使用することをお勧めします。復元できない時にピンポイントな答えが。復元処理を実行しているユーザの「既定のデータベース」と復元先のデータベースが同じためにおこるらしいです。Server)バッチでシステムドライブにあるmdfファイルをアッタチさせようとしたけれど。Part3とかなり関連のあるネタです。ファイルはシステムドライブの固定のフォルダにおいてるとします。最初は下記のようにしてました。スクリプトでは使えないようです。クエリを記述すると、環境変数が置換されちゃんと動きました。コマンドを使おうとすると、ダメみたいです。あるフォルダへのパスが登録されるっぽいですが、いったん終了して再度コマンドプロンプトを立ち上げないと、環境変数反映されないっぽいです。ここら辺注意が要りますね。情シスで何でも屋の三流プログラマのコーディング、サーバ管理、PC生活関係のメモ書き。このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。29検索カテゴリ全体Linuxサーバがらみ.Net開発PHP開発C/C++開発JavaSQLツール思ったこととかニュースとか。メッセージを入力してください。