×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
SQLServerの過去データから一部抽出して現在のデータに挿入(変更)
・運用途中でうっかりデータを消した、間違った等があり数日前のバックアップ
から特定のデータを抽出して現在の本番データに追加したい場合がある
・SQLでCSVに出力しデータの取込でも良いのだけど、
NULLとか禁止文字があれば加工が面倒
・確実な方法として以下の方法で実行
1.テスト環境上で
2.SQLserverのバックアップを復元
3..SQLserver上にダミーのDBを覚醒
4.復元DBをダミーDBにコピー(物理名に注意)
5.論理名を変更して物理名と同じに
6.insert into 復元DB..テーブル名
select * from ダミーDB..テーブル名
where 検索条件
7.結果okなら
8.テストDBを本番Sqlserverに復元
9.6のSQLを実行
10.テストDBの削除
・運用途中でうっかりデータを消した、間違った等があり数日前のバックアップ
から特定のデータを抽出して現在の本番データに追加したい場合がある
・SQLでCSVに出力しデータの取込でも良いのだけど、
NULLとか禁止文字があれば加工が面倒
・確実な方法として以下の方法で実行
1.テスト環境上で
2.SQLserverのバックアップを復元
3..SQLserver上にダミーのDBを覚醒
4.復元DBをダミーDBにコピー(物理名に注意)
5.論理名を変更して物理名と同じに
6.insert into 復元DB..テーブル名
select * from ダミーDB..テーブル名
where 検索条件
7.結果okなら
8.テストDBを本番Sqlserverに復元
9.6のSQLを実行
10.テストDBの削除
PR
レッツノートsシリーズでwindows7が再起動を繰り返す 起動しない
2018/8
xpモードでコンパイルする必要があるプログラムがあったので久しぶりに
windows7のPCを起動、念の為にwindowsUpdateを実行すると
大変な目にあった。
・windows7でWindwosUpdate後に一台はログイン後デスクトップを表示してしばらく
するとダウンし再起動、デスクトップ表示>>再起動を繰り返す
もう一台は、windowsの読み込み中にダウンし再起動すらしない
回復モードを起動jしようとすると、キャンセルしか押せず。押す為に表示されるメッセージに
該当するメニューも見あたらない。
あきらめてネットをググるとやはり、KBXXXが悪さをしているとの書き込みが多く
KBを順に削除する事にした
前者はf8を押してセーフモードをあげ、コントロールパネルから更新プログラムを
順に削除、幾つか削除すると無事起動、自動更新の自動インストールをキャンセル
後者は、セーフモードで起動するすべがないので、放置、
マイクロソフトさん、WindowsUpdateは迷惑です。無駄な時間を返していただきたい
追記:windowsupdateを自動更新しないにしてもシャットダウン時にしつこく削除したKBを
インストールしてします。迷惑な状況、サービスでwindowsUpdateを無効にした。
。
2018/8
xpモードでコンパイルする必要があるプログラムがあったので久しぶりに
windows7のPCを起動、念の為にwindowsUpdateを実行すると
大変な目にあった。
・windows7でWindwosUpdate後に一台はログイン後デスクトップを表示してしばらく
するとダウンし再起動、デスクトップ表示>>再起動を繰り返す
もう一台は、windowsの読み込み中にダウンし再起動すらしない
回復モードを起動jしようとすると、キャンセルしか押せず。押す為に表示されるメッセージに
該当するメニューも見あたらない。
あきらめてネットをググるとやはり、KBXXXが悪さをしているとの書き込みが多く
KBを順に削除する事にした
前者はf8を押してセーフモードをあげ、コントロールパネルから更新プログラムを
順に削除、幾つか削除すると無事起動、自動更新の自動インストールをキャンセル
後者は、セーフモードで起動するすべがないので、放置、
マイクロソフトさん、WindowsUpdateは迷惑です。無駄な時間を返していただきたい
追記:windowsupdateを自動更新しないにしてもシャットダウン時にしつこく削除したKBを
インストールしてします。迷惑な状況、サービスでwindowsUpdateを無効にした。
。
RaspberyPi3 B+
Raspbian 9.4 stretch (lsb_release -aで確認)
・ WiringPiはすでに含まれている
・spidevが動作しない
(ネット上に色々な情報があるが、RaspberyPi3 B
で動作したpython+ハードのままB+で動作させると
動作しない)
・GPIOzeroが含まれている
・spidevの代わりにGPIOzeroを利用
・I2cは問題なく動作
・PIPでライブラリーを組み込む必要がSPI、i2c等の利用では
不要
買ってきた状態で、SPI,I2Cを有効にすると動作
・GPIOzeroは下記を参照
https://gpiozero.readthedocs.io/en/stable/index.html
Raspbian 9.4 stretch (lsb_release -aで確認)
・ WiringPiはすでに含まれている
・spidevが動作しない
(ネット上に色々な情報があるが、RaspberyPi3 B
で動作したpython+ハードのままB+で動作させると
動作しない)
・GPIOzeroが含まれている
・spidevの代わりにGPIOzeroを利用
・I2cは問題なく動作
・PIPでライブラリーを組み込む必要がSPI、i2c等の利用では
不要
買ってきた状態で、SPI,I2Cを有効にすると動作
・GPIOzeroは下記を参照
https://gpiozero.readthedocs.io/en/stable/index.html
from gpiozero import MCP3208
import time
Vref = 3.30
def conv_temp(volts,places):
temp = volts * 100
temp =round(temp,places)
return temp
while True:
try:
pot = MCP3208(channel=0)
v=pot.value * Vref
#print(str(pot.value * Vref) + "V")
t=conv_temp(v,4)
print("temp 0: {:8.2f}".format(t))
time.sleep(1)
except KeyboardInterrupt:
break
raspberypi3 b+でmcp3208のSPIが使えない
mcp3208からSPIでLM35の温度を取り出すコード
raspberyPi3 Bで作成したSPIDEVでLM35から電圧(温度)
を取り出している(ソースA)
同じソースをraspberypi3 b+で実行しようとすると
mcp3208の12ビットモードでSPIが使えない現象が発生
raspberyPi3 Bでは0が帰ってくる
gpiozeroを使うとデータが帰ってくる(ソースB)
ls -la /dev/spidev*でライブラリを見ると
0.0と0.1が存在している
ネットをググって見ると結構混乱しておりOSがハードの
差を吸収していない様子
Raspvian 9.4 stretch 2018/08/19現在
(ソースA)
mcp3208からSPIでLM35の温度を取り出すコード
raspberyPi3 Bで作成したSPIDEVでLM35から電圧(温度)
を取り出している(ソースA)
同じソースをraspberypi3 b+で実行しようとすると
mcp3208の12ビットモードでSPIが使えない現象が発生
raspberyPi3 Bでは0が帰ってくる
gpiozeroを使うとデータが帰ってくる(ソースB)
ls -la /dev/spidev*でライブラリを見ると
0.0と0.1が存在している
ネットをググって見ると結構混乱しておりOSがハードの
差を吸収していない様子
Raspvian 9.4 stretch 2018/08/19現在
(ソースA)
import spidev
import time
import sys
spi= spidev.SpiDev()
spi.open(0,0)
def adc_read12(ch):
r = spi.xfer2([4|2|(ch >> 2), (ch & 3) << 6,0])
v=((r[1] & 0xF) << 8 ) + r[2]
return v
def conv_volts(data,places):
volts = (data *3.3)/float(4096)
volts=round(volts,places)
return volts
def conv_temp(volts,places):
temp = volts * 100
temp =round(temp,places)
return temp
while True:
try:
d=adc_read12(0)
#print("adc : {:8} ".format(d))
v=conv_volts(d,4)
#print("volts: {:8.2f}".format(v))
t=conv_temp(v,4)
print("temp : {:8.2f}".format(t))
print("------------------------")
time.sleep(1)
except KeyboardInterrupt:
break
spi.close()
(ソースB)
(ソースB)
from gpiozero import MCP3208
import time
Vref = 3.30
def conv_temp(volts,places):
temp = volts * 100
temp =round(temp,places)
return temp
while True:
try:
pot = MCP3208(channel=0)
v=pot.value * Vref
#print(str(pot.value * Vref) + "V")
t=conv_temp(v,4)
print("temp : {:8.2f}".format(t))
time.sleep(1)
except KeyboardInterrupt:
break
解決方法
A案:SPI.openのあとにmax_speed_hzを記述する
spi.open(0,0)
解決方法
A案:SPI.openのあとにmax_speed_hzを記述する
spi.open(0,0)
spi.max_speed_hz =5000 #5khz
追記:
データシートを見ると
5Vで2Mhz
2.7vで1Mhzなので
spi.max_speed_hz =1000000 #1MHZ
でテストするとこれでも動作OK 試しに2Mhzにすると電圧が低下した
状態になる
多チャンネルを使うときはレートを落とす必要があるので
spi.max_speed_hz =200000 #200KHZあたりが適当かもしれな
ちなみにRaspberrypi3Bは1.2GHZ 3B+は1.4GHzだがバスクロックも
アップしたのだろうか?
B案:gpiozeroを使って書き換える
from gpiozero import MCP3208
追記:
データシートを見ると
5Vで2Mhz
2.7vで1Mhzなので
spi.max_speed_hz =1000000 #1MHZ
でテストするとこれでも動作OK 試しに2Mhzにすると電圧が低下した
状態になる
多チャンネルを使うときはレートを落とす必要があるので
spi.max_speed_hz =200000 #200KHZあたりが適当かもしれな
ちなみにRaspberrypi3Bは1.2GHZ 3B+は1.4GHzだがバスクロックも
アップしたのだろうか?
B案:gpiozeroを使って書き換える
from gpiozero import MCP3208
pot = MCP3208(channel=0)
v=pot.value * Vref