Quantcast
Viewing all articles
Browse latest Browse all 8695

Win10 + node.js + SQL Server 2019 Express で Tedious StoredProcedure を少し試してみる

Win10 + node.js + SQL Server 2019 Express で Tedious StoredProcedure を少し試してみる

目的

tedious/examples/storedProcedureWithParameters.js
を参考に少し試してみる
対象はWin10 + node.js -> Ubuntu 18.04 + SQL Server 2019 Express

対象テーブル

データの並びは以下に準拠
郵便番号データの説明
対象データにユニークキーになりそうなデータが無いので
8桁のテキストを追加する

CREATETABLE[dbo].[ZIPCODE]([SEQ][nchar](8)NOTNULL,[PREFCODE][nchar](3)NULL,[KUBUNCODE][nchar](8)NULL,[POSTAL5][nchar](5)NULL,[POSTAL][nchar](8)NULL,[PREFKANA][nchar](20)NULL,[CITYKANA][nchar](40)NULL,[ADDRKANA][nchar](80)NULL,[PREFKANJI][nchar](20)NULL,[CITYKANJI][nchar](40)NULL,[ADDRKANJI][nchar](80)NULL,[FLG1][int]NULL,[FLG2][int]NULL,[FLG3][int]NULL,[FLG4][int]NULL,[FLG5][int]NULL,[FLG6][int]NULL)ON[PRIMARY]

サンプル Stored Procedure

USEDEMO;GOCREATEPROCEDUREGETZIPCODE@SEQNCHAR(8),@OPREFCODENCHAR(3)OUTPUT,@OPOSTALNCHAR(8)OUTPUT,@OCITYKANJINCHAR(40)OUTPUT,@OADDRKANJINCHAR(80)OUTPUTASSELECT@OPREFCODE=PREFCODE,@OPOSTAL=POSTAL,@OCITYKANJI=CITYKANJI,@OADDRKANJI=ADDRKANJIFROMZIPCODEWHERESEQ=@SEQ;GO

動作確認

DECLARE@OPREFCODENCHAR(3)DECLARE@OPOSTALNCHAR(8)DECLARE@OCITYKANJINCHAR(40)DECLARE@OADDRKANJINCHAR(80)EXECUTEGETZIPCODEN'00000001',@OPREFCODEOUTPUT,@OPOSTALOUTPUT,@OCITYKANJIOUTPUT,@OADDRKANJIOUTPUTSELECT@OPREFCODE,@OPOSTAL,@OCITYKANJI,@OADDRKANJI

サンプルコード

varConnection=require('tedious').Connection;varRequest=require('tedious').Request;varTYPES=require('tedious').TYPES;varconnectionConfig={userName:'demo',password:'demo',server:'192.168.5.49',options:{database:'demo'}};varconnection=newConnection(connectionConfig);connection.on('connect',function(err){if(err){console.log(err);console.log('err:connect');connection.exit;process.exit(0);}console.log("Connected");if(err){console.log(err);console.log('err:request');process.exit(0);}execstoredProcedure();});functionexecstoredProcedure(){request=newRequest("GETZIPCODE",function(err,rowCount){if(err){console.log(err);connection.exit;process.exit(0);}});request.on('doneInProc',function(rowCount,more,rows){console.log('doneInProc: '+rowCount+' row(s) returned');});request.on('returnValue',function(paramName,value,metadata){console.log('returnValue: '+paramName+' : '+value);});request.on('requestCompleted',function(err){console.log("requestCompleted: execstoredProcedure");connection.exit;process.exit(0);});// The name should not start '@'.request.addParameter('SEQ',TYPES.NVarChar,'00000001');request.addOutputParameter('OPREFCODE',TYPES.NVarChar);request.addOutputParameter('OPOSTAL',TYPES.NVarChar);request.addOutputParameter('OCITYKANJI',TYPES.NVarChar);request.addOutputParameter('OADDRKANJI',TYPES.NVarChar);// Call a stored procedure represented by request.connection.callProcedure(request);};

参考にしたのは以下のサイト

tedious/examples/storedProcedureWithParameters.js
Tedious Request
Package - mssql-tedious-int64
Win10 + node.js から SQL Server 2019 Express に CSVファイルを書き込んでみる
Win10 + node.js から SQL Server 2019 Express に CSVファイルを書き込んでみる 修正版
Windows 10 Pro x64 + Excel2016 x86 VBA + ADODB.Command を使って SQL Server 2016 Express でストアドを試してみる


Viewing all articles
Browse latest Browse all 8695

Trending Articles