Can't Connect To SQL Server 2005 With Pet Shop 4.0 : No Process At Other End Of Pipe?!
Jun 6, 2006
I downloaded MS Pet Shop 4.0 recently for best-practice training purposes. The installation went smoothly with a SQL Server 2005 backend. At first I had a problem authenticating the mspetshop4 user in the database, but that was solved by fixing some settings with the password policy. Now the mspetshop4 user is authenticated properly, but I came across this error instead:
Server Error in '/Web' Application.
A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)
Source Error:
Line 216:
Line 217: if (conn.State != ConnectionState.Open)
Line 218: conn.Open();
Line 219:
Line 220: cmd.Connection = conn;
Source File: C:Program FilesMicrosoft.NET Pet Shop 4.0DBUtilitySQLHelper.cs Line: 218
Stack Trace:
[SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +117
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +346
System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error) +619
System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj) +224
System.Data.SqlClient.TdsParserStateObject.ReadPacket(Int32 bytesExpected) +113
System.Data.SqlClient.TdsParserStateObject.ReadBuffer() +59
System.Data.SqlClient.TdsParserStateObject.ReadByte() +36
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +181
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +56
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +1083
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +272
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +688
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +82
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +558
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +126
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +651
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +160
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +122
System.Data.SqlClient.SqlConnection.Open() +229
PetShop.DBUtility.SqlHelper.PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, String cmdText, SqlParameter[] cmdParms) in C:Program FilesMicrosoft.NET Pet Shop 4.0DBUtilitySQLHelper.cs:218
PetShop.DBUtility.SqlHelper.ExecuteReader(String connectionString, CommandType cmdType, String cmdText, SqlParameter[] commandParameters) in C:Program FilesMicrosoft.NET Pet Shop 4.0DBUtilitySQLHelper.cs:127
PetShop.SQLServerDAL.Category.GetCategories() in C:Program FilesMicrosoft.NET Pet Shop 4.0SQLServerCategory.cs:27
PetShop.BLL.Category.GetCategories() in C:Program FilesMicrosoft.NET Pet Shop 4.0BLLCategory.cs:20
PetShop.Web.NavigationControl.BindCategories() in c:Program FilesMicrosoft.NET Pet Shop 4.0WebControlsNavigationControl.ascx.cs:53
PetShop.Web.NavigationControl.Page_Load(Object sender, EventArgs e) in c:Program FilesMicrosoft.NET Pet Shop 4.0WebControlsNavigationControl.ascx.cs:27
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +31
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +68
System.Web.UI.Control.OnLoad(EventArgs e) +88
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Control.LoadRecursive() +158
System.Web.UI.BasePartialCachingControl.LoadRecursive() +61
System.Web.UI.Control.LoadRecursive() +158
System.Web.UI.Control.LoadRecursive() +158
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3035
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42Now I'm clueless. What does No process at the other end of the pipe mean?
I had to un-install and re-install SQL Server 2005 for a different problem which has been resolved.
But now when I try to make a connection to the database I get the following error:
"...No process is on the other end of the pipe"
I have verified that the server allows named pipeing which seems to be the common answer I found after searching. I have also verified that the account I use is setup and has all the proper permissions.
Can someone help me in resolving this issue noting what I have verified above???
i'm going nuts with SQL server notification thing. I have gone throigh this artical which tells how to set user http://www.codeproject.com/KB/database/SqlDependencyPermissions.aspx. This article show how to create new user and setup for sql server notification.But In my case user was alredy existing in database. which is very common senario in most cases. So i did following( check the SQL script below) but then i get this error "A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)" this my sql script use [master]Go -- Ensuring that Service Broker is enabled ALTER DATABASE [DatabaseName] SET ENABLE_BROKERGO -- Switching to our databaseuse [DatabaseName]GO CREATE SCHEMA schemaname AUTHORIZATION usernameGO ALTER USER username WITH DEFAULT_SCHEMA = schemaname GO /* * Creating two new roles. We're not going to set the necessary permissions * on the user-accounts, but we're going to set them on these two new roles. * At the end of this script, we're simply going to make our two users * members of these roles. */EXEC sp_addrole 'sql_dependency_subscriber' EXEC sp_addrole 'sql_dependency_starter' -- Permissions needed for [sql_dependency_starter]GRANT CREATE PROCEDURE to [sql_dependency_starter] GRANT CREATE QUEUE to [sql_dependency_starter]GRANT CREATE SERVICE to [sql_dependency_starter]GRANT REFERENCES on CONTRACT::[http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification] to [sql_dependency_starter] GRANT VIEW DEFINITION TO [sql_dependency_starter] -- Permissions needed for [sql_dependency_subscriber] GRANT SELECT to [sql_dependency_subscriber] GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [sql_dependency_subscriber] GRANT RECEIVE ON QueryNotificationErrorsQueue TO [sql_dependency_subscriber] GRANT REFERENCES on CONTRACT::[http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification] to [sql_dependency_subscriber] -- Making sure that my users are member of the correct role.EXEC sp_addrolemember 'sql_dependency_starter', 'username'EXEC sp_addrolemember 'sql_dependency_subscriber', 'username'
I installed sql server 2005 express on a server with window server 2003 SP1 and tried to connect it from a remote computer with vista installed.
I have already enabled named pipe and tcp/ip protocol for instance SQLEXPRESS on the server, and started sql server browser as well. Of course, I also enabled local and remote connection using tcp/ip and named pipe by sql server surface area configuration tool.
In this senario, I can connect to server locally or remotely by tcp/ip and connect to server locally by named pipe(c>sqlcmd -S \192.168.1.100pipeMSSQL$SQLEXPRESSsqlquery -U * -P *), but I can not connect to server remotely using same command line.
According to some article from MSDN, it might be caused by firewall, but I already disabled my firewall. Moreover, I used tools like makepipe.exe and readpipe.exe, they didn't work too. Why the 2 computers can't create connection using named pipe protocol.
Hello all, I have question regarding the error message that I'm getting above. I have a program written in .NET that is suppose to traverse through a database and retrieve various records and then write a summary record. The code worked without issue. The database the used to hold the data was a SQL 7.0. However, recently I moved the server over to SQL 2005. Since that time I have been getting the following error:
Description: [Microsoft][SQL Native Client]Named Pipes Provider: No process is on the other end of the pipe.
ramdomly throughout the execution of the program. It doesn't happen on record and is intermittent when it occurs.
Here is the code that is having issues any help would be appreciated.
Thanks Mike Gisonda
Dim mreleaseqty As Double Dim mmakeqty As Double Dim k As Integer Dim mbackorderqty As Double Dim mOnOrder As Double Dim mOnHand As Double Dim mMaximumqty As Double Dim mMinimumQty As Double Dim muomfactor As Double Dim mSafetyStockQty As Double Dim mQtyInTransit As Double Dim mQtyAllocatedWip As Double Dim mQtyAllocated As Double
Dim cnLean As New ADODB.Connection Dim cnSyspro As New ADODB.Connection Dim cnLean2 As New ADODB.Connection
Dim cmdPullItems As New ADODB.Command 'command to retrieve pull items Dim cmdWHTotals As New ADODB.Command 'command to get combined warehouse totals Dim cmdUpdatePull As New ADODB.Command Dim cmdBkOrd As New ADODB.Command Dim cmdInvMst As New ADODB.Command Dim cmdInitPull As New ADODB.Command 'command to clean our old pull data
Dim prmStockCode As New ADODB.Parameter 'parameter to supply stockcode.
Dim rsPullItems As New ADODB.Recordset 'recordset to hold pull items. Dim rsWHTotals As New ADODB.Recordset 'recordset to hold warehouse records Dim rsBkOrd As New ADODB.Recordset Dim rsInvMst As New ADODB.Recordset Dim rsSalesOrders As New ADODB.Recordset Dim rsWipMaster As New ADODB.Recordset
Dim mPullSQL As String Dim mWHSql As String Dim mBackOrderStr As String Dim mInvSQL As String Dim mStockCode As String Dim mSalesSQL As String Dim aBackOrderRec As Array Dim mReqDate Dim mShipDate As Date Dim mcol As Integer Dim mNewVal As Double Dim mWipSql As String Dim mAdjAmt As Double Dim mStockStatus As Integer Dim mBackOrder As Double Dim mBackLate1 As Double Dim mBackLate2 As Double Dim mBackLate3 As Double Dim mBackLate4 As Double Dim mWeeklyStDev As Double Dim mWeeklyUsage As Double
Dim mBackLog1 As Double Dim mBackLog2 As Double Dim mBackLog3 As Double Dim mBackLog4 As Double Dim mBackLog5 As Double Dim mBackLog6 As Double Dim mBackLog7 As Double Dim mBackLog8 As Double Dim mBackLog9 As Double Dim mBackLog10 As Double Dim mBackLog11 As Double Dim mBackLog12 As Double
Dim mLEAN_BACKORDER_BFLAG As Integer Dim mLEAN_LATE1_BFLAG As Integer Dim mLEAN_LATE2_BFLAG As Integer Dim mLEAN_LATE3_BFLAG As Integer Dim mLEAN_LATE4_BFLAG As Integer Dim mLEAN_BACKLOG1_BFLAG As Integer Dim mLEAN_BACKLOG2_BFLAG As Integer Dim mLEAN_BACKLOG3_BFLAG As Integer Dim mLEAN_BACKLOG4_BFLAG As Integer Dim mLEAN_BACKLOG5_BFLAG As Integer Dim mLEAN_BACKLOG6_BFLAG As Integer Dim mLEAN_BACKLOG7_BFLAG As Integer Dim mLEAN_BACKLOG8_BFLAG As Integer Dim mLEAN_BACKLOG9_BFLAG As Integer Dim mLEAN_BACKLOG10_BFLAG As Integer Dim mLEAN_BACKLOG11_BFLAG As Integer Dim mLEAN_BACKLOG12_BFLAG As Integer
Dim mBFlagValue As Integer Dim mFileNum As Integer Dim mTrnFileNum As Integer Dim mtest As String Dim mCountOfRecords As Long Dim mPullCount As String Dim rsPullcount As ADODB.Recordset Dim mCurRecordCount As Long
Dim mWipAllSQL As String Dim rsWipAll As New ADODB.Recordset
'On Error GoTo ehbtnUpdateLean_Click 'open connection to springdesign With cnLean .ConnectionString = "DSN=SPRINGDESIGN;UID=sa;PWD=" .Open() End With With cnLean2 .ConnectionString = "DSN=SPRINGDESIGN;UID=sa;PWD=" .Open() End With
'open connection to syspro With cnSyspro .ConnectionString = "DSN=COMPANYM;UID=sa;pwd=" .CommandTimeout = 300 .Open() End With btnUpdateLean.Enabled = False Me.Cursor = Cursors.WaitCursor
** Bunch of code to set up commands and select statements ** 'Initial command that will update the pull records as they are being processed. With cmdUpdatePull .let_ActiveConnection(cnLean) .CommandType = ADODB.CommandTypeEnum.adCmdStoredProc .CommandText = "sp_MX_Daily_UpdateMRPData" .CommandTimeout = 300 .Parameters.Refresh() End With
** More Code **
Try rsPullItems.CursorLocation = ADODB.CursorLocationEnum.adUseClient 'Get all the pull items. 'rsPullItems = cmdPullItems.Execute rsPullItems.Open(mPullSQL, cnLean2) rsPullItems.ActiveConnection = Nothing
'Initial flags used to determine if the individual sales order dates are 'before or after the request date. cmdUpdatePull.Parameters("@LEAN_BACKORDER_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE1_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE2_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE3_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE4_BFLAG").Value = 0
** ** If IsNothing(rsWHTotals) = False Then If rsWHTotals.EOF = False Then 'If there are values in the warehouse query. ** BUNCH MORE CODE ** cmdUpdatePull.Parameters("@stock_code").Value = mStockCode cmdUpdatePull.Parameters("@MINIMUM_QTY").Value = mMinimumQty cmdUpdatePull.Parameters("@MAXIMUM_QTY").Value = mMaximumqty cmdUpdatePull.Parameters("@SAFETYSTOCKQTY").Value = mSafetyStockQty
cmdUpdatePull.Parameters("@ON_HAND").Value = mOnHand cmdUpdatePull.Parameters("@ON_ORDER").Value = mOnOrder ** cmdUpdatePull.Parameters("@BACKORDER_QTY").Value = mbackorderqty mmakeqty = (mMaximumqty - mOnHand) If mmakeqty > 0 Then cmdUpdatePull.Parameters("@MAKE_QTY").Value = mmakeqty Else cmdUpdatePull.Parameters("@MAKE_QTY").Value = 0 End If
'Initiale Binary flags that represent if the ship date is 'before or after the request date. cmdUpdatePull.Parameters("@LEAN_BACKORDER_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE1_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE2_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE3_BFLAG").Value = 0 cmdUpdatePull.Parameters("@LEAN_LATE4_BFLAG").Value = 0
** more Code ** Try rsSalesOrders = New ADODB.Recordset rsSalesOrders.Open(mSalesSQL, cnSyspro) Catch ex As Exception mtest = "Exception Message: " & ex.Message & vbCrLf & "SQLStatement: " & mSalesSQL LogError(mStockCode, mtest) rsSalesOrders = Nothing End Try
If IsNothing(rsSalesOrders) = False Then Do While rsSalesOrders.EOF = False ** More Code ** Select Case mcol Case Is <= -5 cmdUpdatePull.Parameters("@LEAN_BACKORDER").Value = cmdUpdatePull.Parameters("@LEAN_BACKORDER").Value + mNewVal 'Check to see if the bit is marked. If not then mark it. If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKORDER_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKORDER_BFLAG").Value = cmdUpdatePull.Parameters("@LEAN_BACKORDER_BFLAG").Value + mBFlagValue End If
mBackOrder = mBackOrder + mNewVal
Case Is = -4 cmdUpdatePull.Parameters("@LEAN_LATE4").Value = cmdUpdatePull.Parameters("@LEAN_LATE4").Value + mNewVal 'Check to see if the bit is marked. If not then mark it. If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_LATE4_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_LATE4_BFLAG").Value = cmdUpdatePull.Parameters("@LEAN_LATE4_BFLAG").Value + mBFlagValue End If
mBackLate4 = mBackLate4 + mNewVal
Case Is = -3 cmdUpdatePull.Parameters("@LEAN_LATE3").Value = cmdUpdatePull.Parameters("@LEAN_LATE3").Value + mNewVal 'Check to see if the bit is marked. If not then mark it. If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_LATE3_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_LATE3_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_LATE3_BFLAG").Value + mBFlagValue) End If
mBackLate3 = mBackLate3 + mNewVal
Case Is = -2 cmdUpdatePull.Parameters("@LEAN_LATE2").Value = cmdUpdatePull.Parameters("@LEAN_LATE2").Value + mNewVal 'Check to see if the bit is marked. If not then mark it. If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_LATE2_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_LATE2_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_LATE2_BFLAG").Value + mBFlagValue) End If
mBackLate2 = mBackLate2 + mNewVal
Case -1 To 0 cmdUpdatePull.Parameters("@LEAN_LATE1").Value = cmdUpdatePull.Parameters("@LEAN_LATE1").Value + mNewVal 'Check to see if the bit is marked. If not then mark it. If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_LATE1_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_LATE1_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_LATE1_BFLAG").Value + mBFlagValue) End If
mBackLate1 = mBackLate1 + mNewVal
Case Is = 1 cmdUpdatePull.Parameters("@LEAN_BACKLOG1").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG1").Value + mNewVal 'Check to see if the bit is marked. If not then mark it. If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG1_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG1_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG1_BFLAG").Value + mBFlagValue) End If
mBackLog1 = mBackLog1 + mNewVal Case Is = 2 cmdUpdatePull.Parameters("@LEAN_BACKLOG2").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG2").Value + mNewVal 'Check to see if the bit is marked. If not then mark it. If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG2_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG2_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG2_BFLAG").Value + mBFlagValue) End If
mBackLog2 = mBackLog2 + mNewVal
Case Is = 3 cmdUpdatePull.Parameters("@LEAN_BACKLOG3").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG3").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG3_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG3_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG3_BFLAG").Value + mBFlagValue) End If
mBackLog3 = mBackLog3 + mNewVal
Case Is = 4 cmdUpdatePull.Parameters("@LEAN_BACKLOG4").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG4").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG4_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG4_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG4_BFLAG").Value + mBFlagValue) End If
mBackLog4 = mBackLog4 + mNewVal
Case Is = 5 cmdUpdatePull.Parameters("@LEAN_BACKLOG5").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG5").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG5_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG5_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG5_BFLAG").Value + mBFlagValue) End If
mBackLog5 = mBackLog5 + mNewVal
Case Is = 6 cmdUpdatePull.Parameters("@LEAN_BACKLOG6").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG6").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG6_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG6_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG6_BFLAG").Value + mBFlagValue) End If
mBackLog6 = mBackLog6 + mNewVal
Case Is = 7 cmdUpdatePull.Parameters("@LEAN_BACKLOG7").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG7").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG7_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG7_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG7_BFLAG").Value + mBFlagValue) End If
mBackLog7 = mBackLog7 + mNewVal
Case Is = 8 cmdUpdatePull.Parameters("@LEAN_BACKLOG8").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG8").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG8_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG8_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG8_BFLAG").Value + mBFlagValue) End If
mBackLog8 = mBackLog8 + mNewVal
Case Is = 9 cmdUpdatePull.Parameters("@LEAN_BACKLOG9").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG9").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG9_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG9_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG9_BFLAG").Value + mBFlagValue) End If
mBackLog9 = mBackLog9 + mNewVal
Case Is = 10 cmdUpdatePull.Parameters("@LEAN_BACKLOG10").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG10").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG10_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG10_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG10_BFLAG").Value + mBFlagValue) End If
mBackLog10 = mBackLog10 + mNewVal
Case Is = 11 cmdUpdatePull.Parameters("@LEAN_BACKLOG11").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG11").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG11_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG11_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG11_BFLAG").Value + mBFlagValue) End If
mBackLog11 = mBackLog11 + mNewVal
Case Is = 12 cmdUpdatePull.Parameters("@LEAN_BACKLOG12").Value = cmdUpdatePull.Parameters("@LEAN_BACKLOG12").Value + mNewVal If mBFlagValue <> (cmdUpdatePull.Parameters("@LEAN_BACKLOG12_BFLAG").Value And mBFlagValue) Then cmdUpdatePull.Parameters("@LEAN_BACKLOG12_BFLAG").Value = (cmdUpdatePull.Parameters("@LEAN_BACKLOG12_BFLAG").Value + mBFlagValue) End If
mBackLog12 = mBackLog12 + mNewVal
End Select End If rsSalesOrders.MoveNext() Loop rsSalesOrders.Close() rsSalesOrders = Nothing End If
Else cmdUpdatePull.Parameters("@stock_code").Value = mStockCode End If rsWHTotals.Close() rsWHTotals = Nothing Else 'rswhtotal is nothing cmdUpdatePull.Parameters("@stock_code").Value = mStockCode End If 'rswhtotal is nothing
'Update the record in DesignLean Try ********* This is where it fails ********* cmdUpdatePull.Execute()
SqlConnection cmiDBCompConnection = new SqlConnection(myConnectString);
cmiDBCompConnection.Open();
when I attempt to run the apps, I get the
"System.Data.SqlClient.SqlException was unhandled Message="A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)".....
any idea what I am doing wrong, given that the connection string works using other means? I am using Windows authentication.
To add, the error in my log shows:
2007-03-17 21:10:55.82 Logon Login failed for user ''. The user is not associated with a trusted SQL Server connection. [CLIENT: <local machine>]
When I try to install MsSQL Server 2005 Develop Edition do I get the error:
[Microsoft][SQL Native Client]Shared Memory Provider: No process is on the other end of the pipe.
I have trying to look at other posts on this forum and elsewhere, but cant find any solution that works for me - mainly cuz all solutions is after the installing.
Before trying to install MsSQL Server 2005 Dev did I install VS.Net 2005 Pro. First did the Native Client make troubles, but got it to work with reinstalling it, but now does the SQL setup stop on every try with the error above.
I have tried looking if the MSSQLServer is running when it tries to connect during install, and everything says it is running (Services, Net start, Taskman.).
I dont run any special setup on my system - it is a normal Windows XP Pro SP2 with all updates. I just need the SQL server installed so I can develop locally without access to out main SQL server.
I have been using MsSQL 2000 before and never had any problems, but the 2005 keep on bugging me.
The only solution I havent tried is to reinstall Windows itself, but I will pref. not to do so.
And to be honest, then have I no idea what a "pipe" is - I am used to develop webapplications and not so much on server maintaince/troubleshooting.
I am getting the following error when i try to connect to the my web site using froma different server. A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) i am using sql express and i attach the database through the connection string in the web config. Any ideas
I have a problem with a PIPE "|" delimited flat file. I have a column "Description" in which we get a string in which we have PIPE "|" as data. How we can skip this and load it as a data into the column Description.
I am trying to create a table that would represent a workload for each shop. In order to do that I need to have WorkLoad table and ShopWorkLoad table which is actually just aggregation of WorkLoad.
WorkLoad contains a list of following items:
current orders that are in the process (one select statement) scheduled orders (another select statement) expected orders (third select statement) that come through a third-party system
All of this needs to be live. So, for example, as soon as order is added to Order table it should be included in WorkLoad if certain conditions are met. Same goes for scheduled orders (which come from another table). Expected orders will be loaded on a daily bases (based on historical data).
ShopWorkLoad table is aggregation of WorkLoad table.
Currently I did it this way:
Added after insert/update trigger on Order table: when order is created/updated, if it meets certain conditions, it should be inserted in WorkLoad, otherwise remove it from workload if it's in there and doesn't meet conditions
Added after insert/update trigger on Schedule table: when order is scheduled, if it meets certain conditions, it should be inserted in WorkLoad, otherwise remove it from workload if it's in there and doesn't meet conditions
Running daily job that populates WorkLoad table with expected orders based on historical values
Final step is to create an indexed view vShopWorkLoad
My biggest concern is usage of triggers which call pretty complex logic to determine whether item should be added to workload or not.
One other option was to create vWorkLoad view and somehow make it an indexed view but currently I don't see a way of doing that because the query consists of 4 union select statements, below is pseudo example. But even if doing it that way, how to build aggregated indexed view on top of vWorkLoad indexed view?
Third option is to use sql agent job which would run every x seconds (maybe 20) and it would execute all of these queries to populate WorkLoad table with delay of 10-20 seconds, but I am still not sure if this is acceptable to the client.
Fourth option is to create 3 or 4 indexed view where sum of them makes a workload. Then, ShopWorkLoad view would be built on top of these 3 or 4 indexed views, but in this case I don't know how this would affect performance since ShopWorkLoad query would be often queried.
Example of workload pseudo query:
select WorkLoadType = 'Order in process', OrderId, ShopId, ... from Order
I'm having a problem connecting with a Java application but I CAN connect using my .Net application - the user name and password are the same for both (using the same database on SQL Server Express 2005).
The error I get is: "com.microsoft.sqlserver.jdbc.SQLServerException: Cannot open database "CORNERS" requested by the login. The login failed." An interesing note - I get the same message if the database is not running.
SQL Server Express 2005 is installed in mixed mode.
Here is my connection string in the .Net appplication: <add key="connectString" value="Server=(local);UID=sa;PWD=myPasswd;Database=CORNERS" />.
Does anybody have a working Java code sample that connects to an SQLServer 2005 database on a remote host, via the default named pipe, from a client using the SQLServer 2005 JDBC driver? Could you post it, or a pointer to it?
I've gotten java.sql DriverManager.getConnection() to work fine with TCP/IP connections before. But I'm a newbie with named pipes, and unclear on how the connection string/properties are different. I've tried to piece it together from multiple docs and threads, but haven't found sample code that quite fits my situation. I think a simple working example would best clarify the syntax.
The server is not using SQL Express. Most SQLServer configuration options are defaults; the named pipes protocol is enabled.
Hi, I am developing an application with vb.net and sql server 2005 express edition. If a user logs in (through the application), I want to query the computer host from sql server 2005 in which the user logs on. Is there any special table or procedure that I can use to achieve this? Thanks.
i am creating the Merge Replication between two server(both SQLServer-2005, on XP).
Server names are as
1. HB5B
2. VSNET1
i) On server HB5B, i had created the Publication with name 'hb_pub'.
(publisher & Distributer on HB5B server)
ii) On server VSNET1, i had created the Pull Subscription, for the publication name hb_pub( form the server HB5B), this starts fine.
iii) When i went to Viwe Synchroniztion status, it says
The process could not connect to Distributor 'HB5B'
iv) i too check the Distributor properties, its seems fine for me.
v) On server VSNET1, if creats the Push Subscription, for the publication name hb_pub( form the server HB5B), this starts fine.
vi) When i went to Viwe Synchroniztion status, it says
The server 'VSNET1' is not a Subscriber. (.Net SqlClient Data Provider)
vii) if i try again the Start button on the Viwe Synchroniztion status, it says the job is already running (with job name), Change the database context to 'HBmyDB' ( this is my database name).
the check list i made is
i) I had log on as service(SQL Server Agent (MSSQLSERVER) & SQL Server (MSSQLSERVER) ) as Administrator at server VSNET1(i mean it had the administrative right) & restarted them.
ii) I do have the administrative rights on the both of the machines.
I have a small problem, I get this following error when trying to start the snapshot agent "The process could not connect to the distributor 'distributor name'. NOTE: The step was retried the requested number of times [10] without succeeding. The step failed.
I thought it was related to users or rights but i am using the same user than in previous replication with the server and the rights haven't been altered. I don't know if someone has some knowledge of what to do or a workaround solution, any help would be greatly appreciated.
I have a question about blocked processes. My manager wants to know how you can know the following when a blocked process is encountered.
The job, program and the statement that is causing the blocking. I have figured out how to determine the database involved but not a lot else. Such as in the blocked process report there is a waitresource field. How to you decipher it? The report also tells you the client application, but in this case it just states the Micro focus Net Express as the client, not the job or program that is running.
I have an inputbuf listed but it just shows the database id, and the object id. And I am not sure how to locate the object id in this case, I am guessing sys.objects, but I do not seem to find that one.
I have read many things on MSN about the blocked process report, but it does not seem to go into great detail.
I seem to have all the pieces, but do not exactly know how to quickly tie them all together.
Hey guys. I am creating an app that uses the RMO Merge Replication objects. So far it can subscribe and unsubscribe just fine but when it comes to the syncing process it gets a little weird, here's why.
- If I run the SQL GUI Sync tool, it sinks fine. So that setup is working.
- When I run the C# App it blows up witht the error: "Process cannot connect to Distributor"
- Here's the weird part: When I set a breakpoint on my custom method SyncData (this method sets up the connection info and properties and then calls Syncronize( ) ) and step through the code when it gets to Syncronize( ) it runs perfectly fine, no execeptions.
I thought that maybe the Syncronize( ) method was being called too fast before the connection properties got to fully setup and connect, so I added a Thread.Sleep( ) method for 10 secs after each connection call and just before calling Syncronize( ). It still didn't work. My class is a static class by design, however, I changed it into an ordinary class and then placed the connection info in the constructor hoping it would do it's connection when the object gets initialized, that didn't work either.
If someone could please help me out with this I would greatly appreciate it.
Here's my code:
using System;using System.Collections.Generic;using System.Text;using Microsoft.SqlServer.Replication;using Microsoft.SqlServer.Replication.BusinessLogicSupport;using Microsoft.SqlServer.Management.Common;using System.Windows.Forms;using System.Threading;namespace Emds.Briefcase.BriefcaseSubscriber.BLL{ public class SyncDataClass { #region Members private static string m_statusMessage = string.Empty; private static byte m_percentComplete; public delegate void StatusTextChangeHandler(int percent, string status); public static event StatusTextChangeHandler OnStatusChange; #endregion Members #region Methods public static string SyncData() { //Delay(); // Define the server, publication, and database names. string publicationName = "Chart"; string publisherName = @"JSMITHSQL2005"; string subscriberName = @"JDOESQL2005"; string subscriptionDbName = "DataSubscriber"; string publicationDbName = "DataPublisher"; string message = string.Empty; // Create a connection to the Subscriber. ServerConnection conn = new ServerConnection(subscriberName); MergePullSubscription subscription; try { // Connect to the Subscriber. conn.Connect(); // Delay(); // Define the pull subscription. subscription = new MergePullSubscription(); subscription.ConnectionContext = conn; //Delay(); subscription.DistributorSecurity.WindowsAuthentication = false; subscription.DistributorSecurity.SqlStandardLogin = "sa"; subscription.DistributorSecurity.SqlStandardPassword = "russell"; // Delay(); subscription.PublisherName = publisherName; subscription.PublicationDBName = publicationDbName; subscription.PublicationName = publicationName; subscription.PublisherSecurity.SecurityMode = ReplicationSecurityMode.SqlStandard; subscription.PublisherSecurity.SqlStandardLogin = "sa"; subscription.PublisherSecurity.SqlStandardPassword = "russell"; // Delay(); subscription.DatabaseName = subscriptionDbName; subscription.SubscriberSecurity.WindowsAuthentication = false; subscription.SubscriberSecurity.SqlStandardLogin = "sa"; subscription.SubscriberSecurity.SqlStandardPassword = "russell"; // Delay(); // If the pull subscription exists, then start the synchronization. if (subscription.LoadProperties()) { // Check that we have enough metadata to start the agent. if (subscription.PublisherSecurity != null || subscription.DistributorSecurity != null) { // Synchronously start the Merge Agent for the subscription. subscription.SynchronizationAgent.Status += new AgentCore.StatusEventHandler(SynchronizationAgent_Status); // Delay(); subscription.SynchronizationAgent.Synchronize(); message = "Data Syncronization is a success!"; } else { throw new ApplicationException("There is insufficent metadata to " + "synchronize the subscription. Recreate the subscription with " + "the agent job or supply the required agent properties at run time."); } } else { // Do something here if the pull subscription does not exist. throw new ApplicationException(String.Format( "A subscription to '{0}' does not exist on {1}", publicationName, subscriberName)); } } catch (Exception ex) { // Implement appropriate error handling here. throw new ApplicationException("The subscription could not be " + "synchronized. Verify that the subscription has " + "been defined correctly.", ex); } finally { conn.Disconnect(); } return message; } static void SynchronizationAgent_Status(object sender, StatusEventArgs e) { m_percentComplete = e.PercentCompleted; m_statusMessage = e.Message; //Fire custom event if (OnStatusChange != null) { OnStatusChange(m_percentComplete, m_statusMessage); } } #endregion Methods }}
Linked server is created as (from SQL 2005 to SQL 2000)
EXEC sp_addlinkedserver @server = @SPKServerName,
@srvproduct = '',
@provider = 'SQLOLEDB',
@datasrc = @SPKdatasrc //np:remoteservername
exec sp_serveroption @server = @SPKServerName
, @optname = 'rpc'
, @optvalue = 'on'
exec sp_serveroption @server = @SPKServerName
, @optname = 'rpc out'
, @optvalue = 'on'
exec sp_serveroption @server = @SPKServerName
, @optname = 'data access'
, @optvalue = 'on'
when asp.net applicaiton hits the Stored Procedure, it uses Linked server to get data from remote server. It fails with exception message
OLE DB provider "SQLNCLI" for linked server "ServerName" returned message "Login timeout expired". OLE DB provider "SQLNCLI" for linked server "ServerName" returned message "An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.". Msg 5, Level 16, State 1, Line 0 Named Pipes Provider: Could not open a connection to SQL Server [5].
is it possible to assign for each CPU a different process within one SQL Server 2005?
I got 2 servers (each 4 CPUs; 64 bit system) which should be able to failover, but on the other hand there are reporting/analysing applications and totally different sharepoint/other applications that should be hosted seperately, each on one physical server.
I have some SQL CE database .sdf file on my handheld, and I was trying to connect to that file via SQL Server 2005 Management Studio, and it does not work. I am wondering if there is any good tool that I can use on desktop to connect to sqlce .sdf database file on my handheld?
Hi, I have VS Pro 2005 and SQL Server Express 2005 installed on an XP Pro machine. When using VS 2005, in the 'Server Explorer' window I can see and attach to two SQL Server databases that I have set-up. But if I attempt to access the same databases from withn the 'Solution Explorer' window I get the following dialog box message,
" Required Component Missing (Dialog box heading)
Connections to SQL Server Files (*.mdf) require SQL Server Express to function properly. Please verify the installation of the component or download from the URL: http://go.microsoft.com/fwlink/?LinkId=49251 "
I have uninstalled and then reinstalled both VS 2005 and SQL Server Express twice but it has helped.
I don't understand why I'm getting this error because all of the server configuration tools and connection utilities seem to work fine but VS say's that SQL Server Express is not installed.
Thanks,
CLN
P.S. I had another application that required MSDE 2000A to be installed. When I removed the other application I also removed MSDE 2000A and that's when the problem began.
Hi! How do I return best salesperson of every shop? Not working.. return all the best not one per shop. Thank you so much in advance!
SELECT SUM(Cd.Price) AS Sales, Shop.Name, Personnel.Name FROM Purchase INNER JOIN Personnel ON Purchase.Salesperson_id = Personnel.Personnel_id RIGHT OUTER JOIN Shop ON Personnel.Work_id = Shop.Shop_id FULL OUTER JOIN Cd ON Purchase.Cd_id = Cd.Cd_id GROUP BY Butik.Namn, Personnel.Name ORDER BY Sales DESC
I am having a problem with connecting to SQL Server 2005 database from Office Business Scorecard Manager 2005 (the connection string i am using is: provider=SQLOLEDB;Data source=server_name; Initial catalog=database_name). But the connection failed. Would please any experts here shed me any light on what is the problem and how to fix it then? As there is no any forum for Office Business Scrorecard manager 2005. Therefore I post my thread here as it is related to the connection to SQL Server 2005 database engine, thought here is the best place for this question.
Thank you very in advance for your kind advices and help. And I am looking forward to hearing from you soon.
I've used Sql Server 2000 and Visual Studio 2003 for a few years. I've started a new position and they have access to Sql Server 2005 Standard and Visual Basic 2005 Express which I'd like to use for a new project. So I installed Sql Server 2005 and then VB 2005 Express on my workstation. I didn't choose the Sql Server option for VB Express because I already had Sql Server 2005 Standard installed with a simple database created. I created a simple vb project that justs connects to the database but I get the following error.
Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0000, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. I looked at permissions in the database and it looks ok. I'm the db owner and I'm using Windows Auth. My connection string is
I thought I'd look at the starter kit to get some ideas about what the problem is, but when I started the movie starter kit project, it was upset that I didn't have Sql Server 2005 EXPRESS installed. Yea, but I do have Sql Server 2005 Standard installed. Any help will be greatly appreciated. Thanks.
We've had a problem for a few months now that has completely stumped us. We are running a heavily cursored massive data manipulation process on a 32 bit SQL Server instance running on a virtual machine, running ontop of VMWare, with the following specs
Processors: 2x2674MHz processors Memory: 4GB RAID 10 disk config
When we run our process on this machine, in total it runs in 30 hours.
When this process is run on another 32 bit server with the following specs
Processors: 8x3658MHx processors Memory: 8 GB SAN w/ RAID 5 disk config
It runs 25% slower
But here is the real kicker. When this process is run on a 64 bit server with the following specs
Processors: 8x3658MHz processors Memory: 8 GB SAN w/ RAID 5 disk config
It runs 75% slower.
This process consists solely of stored procedures written in TSQL. The weird thing is that on our smaller server, the CPUs' % utilization are evenly balanced (at 20-30%) when this large data manipulation process is running. However on the bigger servers, SQL Server latches onto a single processor and doesn't load balance across other processors. Such that what we're seeing is that only one processor out of the eight will be utilized and it will be throttled at 90% while the other 7 are at zero.
The default configuration settings in all three places.
Has anyone ever seen any behavior like this, where only one processor gets used by SQL Server during processing? Granted our processes are single threaded b/c they are using cursors but, it seems that the single thread shouldn't be restricted to one processor.
I'm currently having an issue with a linked server. Here's the surrounding information:
A) I have a clustered SQL Server 2005 Instance (A) and a SQL Server 2000 instance (B). B) There is a linked server on A to B. When I set it up, I did run the fix to ensure A could talk to B (There was an issue with communication between 2005 and 2000 servers). It has been there since I installed A, and has worked fine.. Until last week. C) This linked server uses static credentials to connect to B. D) Named Pipes are enabled on both servers to listen to both connections on both A and B in cliconfg. So A has a named pipe listening for B, and B has a named pipe listening for A. E) A has a view that looks at a table on B - It's a table view, very simple, just pulls in all the data from the table on B.
So, I go to do a select statement from the view, connected as a user other then 'sa'. I then get the error:
Named Pipes Provider: Could not open a connection to SQL Server Linked Server Error Source: ncli Client (Paraphrasing, didn't copy that down, but it was the ODBC connector)
Well, that's odd. It's been working fine for months now..
I then go and connect as sa on A to query B. It works! Mind you, absolutely NO QUERY from A to B will run again until I run SOME kind of query has been run as sa on A.
Mind you, this is not a credential issue. Every user who connects to the linked server to B uses a stored credential that is DBO to the database on B. The same User Name and Password exists on both A and B.
Also of note, I check the activity monitor. There's a process that is "dormant" every time I run a query against the view. The details of this connection are:
sp_reset_connection;1
My question is, why is it resetting the connection on B when being queried from A? Why is it "all of a sudden" a problem? Are there any changes that coudl ahve been made that would cause this?
Any help with this confusing issue would be appreciated.
i have an database create using webmatrix called online-shop, but when i want to use osql command to back up this database with the backup database online-shop TO DISK = "c:onlineshop.bak"
then i got the error message said an incorrect syntax near "-"
but i can access this database with comand: osql -E -d online-shop
do i have to add some special string before "-"????? like in linux when you want to access and name with a space in it you have to add an "" before the space
We are relatively new to the setup, configuration and use of MS SQL. We are currently using MS SQL2000, Our sql application performance as become very slow. I am trying to find some basic "beginner" steps that I can take to improve performance and quicker lookups. Some of the things I have heard but I am not sure what they mean or how to do them are: 1) Locate SQL Temp files onto another drive, will this help and which/what temp files 2) should i put the mdf ldf files onto a separate drive? 3) Put Sql server program on a seperate drive? 4) our ldf file size is about 2GB is that OK any suggestions Any other basic suggestions to improve performance and throughput is appreciated
I've installed, with default settings, VS 2005 and Server 2005 Express and cannot get VS2005 to connect. This is the error:
Unable to open the physical file "..path...mdf". Operating system error 32: "32(The process cannot access the file because it is being used by another process."
I shutdown Server 2005 but that didn't change anything. Any ideas?
I have installed MS Visual Web Developer 2005 Express Edition on my Notebook (WinXP Pro SP2). And it's working fine. Then I tried installed SQL Server 2005 Express Edition SP1. There is no error during installation and it seems to be working as I can see the SQL Server (MSSQLServer) service is running. As SQL server configulation manager., the protocal shared memory , named Pipes and TCP/IP are enabled.
But when I want to add connection using VWD 2005 by pointing to datasource (MS SQL Server database file and selecing file from .mdf file from SQL sample database file. Then test connection, I got a error that "An error has occurred while establishing a conneciton to the server. when connecting to SQL server 2005, this failure may be casued the the fact that under the default settings SQL server does not allow remote connections. (provider: SQL Interfaces, error: 26- Error locating server/instance specified)
Can you please advise what the missing part of my configulation ?
I desire output by each hour of sales by different shop total with sales_datetime format is 20140831 22:30:xxx.
for example now is 23:05 then desire result is 23:00-23:05 of sale. ----------------------------------------------------------------- select shopid,qty,amount from sales where sales_datetime>='hh:mm' and sales_datetime<='hh:mm' group by shop
We have 9 shop installed POS system and how to get the 10 shop of daily sales transaction by use of different shop IP Address? I don't want to repeat typing 9 time for change IP address as well.
select * from xsoheader inner join xsodetail.memonum = xsoheader.memonum where xshopcode='%00*'