Keeping named pipe with udev

We use a named pipe /dev/compress_pipe to gzip our export dump files while they are being written.
However, we recently started running on RH4 using udev, and now whenever we reboot the machine, our named pipe disappears.
One solution is to create the named pipe in a different directory. Another would be to add the mknod command to our init scripts.
But I'm wondering if there is a way to instruct udev not to remove our named pipe from the directory?

Oracle has made a document about udev (in fact for ASM) which can be found: http://www.oracle.com/technology/products/database/asm/pdf/device-mapper-udev-crs-asm%20rh4.pdf
another document about multipathing and udev:
http://dims.ncsa.uiuc.edu/set/san/src/linux-mpio.pdf
Both papers are limited to the function they specifically need and describe.
I haven't found the definitive paper on udev.
But both will give you some idea about how udev roughly works.

Similar Messages

  • Named pipes Windows (OpenG implementation)

    Greetings,
    I've run into a few issues with the OpenG Named Pipes implementation (by rolfk). I am unsure how much of this is due to my inexperience with pipes and how much is caused by the aging OpenG (beta) implementation.
    Usage:
    I want to pick up existing named pipes with LabVIEW to read data from them. Basic test case (simple example .vi from OpenG library) works (attached screenie 1).
    Problem:
    If I try to pick up pipe opened in separate .vi (or external to LabVIEW by third party software) I get error 42 when attempting to read it (screenie 2)
    Questions:
    Is there a resource to determine what the error codes cover? (I've also seen error 8, screenie 3, but only found description for error 6)
    Is there reason to believe that the named pipe implementation no longer functions in Win7/LV8?
    Am I butchering proper named pipe procedure and use?
    Thank you in advance for your consideration!
    Nicolai
    Solved!
    Go to Solution.
    Attachments:
    Screenie 1.jpg ‏92 KB
    Screenie 2.jpg ‏96 KB
    Screenie 3.jpg ‏93 KB

    Pipes are point to point communication endpoints. That means you get undefined behaviour if you try to read the same pipe from multiple locations. In fact already the opening of a pipe for the same direction more than once might fail although it seems to work here (at least in screenie2), but if it wouldn't fail the Read that happens first will see the data that was sent and the rest won't see anything. You should definitely try to disable the ENTIRE Read pipe handling in your first VI in order to allow for the second VI to have any chances of working.
    Error 42 is the LabVIEW error "generic error" used by the shared library when an error occurred that it doesn't specifically recognize. So that is not so helpfull when one can't go into the shared library itself to see what Windows API error happened.
    Error code 8 is the LabVIEW errro code "file not found". The code tries to detect if a pipe with the name does already exist and if so it tries to connect to it. This could fail if the path to the pipe was invalid or if the pipe was opened with higher privileges than what you currently have or if it was opened by the other process for that direction already. This will generailly result in the error 8.
    The OpenG Pipe library is indeed not a fully stable product. And it interfaces to a Windows part that is somewhat unknown and not so often used, and Microsoft is continously changing small parts of its implementation so that the library may indeed stumble over subtle changes in Windows over the time. Principially there shouldn't be any reason that it couldn't work in even Windows 8 since Pipes are a mechanisme that is used by many Windows components quite extensively it's just a little known feature for non-Microsoft applications and its semantics (details of operation) look a bit weird to the casual programmer. It originally (Windows NT) was trying to mimic the Posix standard but having been always different enough to what the normal Unix way of how pipes work is.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Named pipes provider : could not open a connection to a SqL server . . . . .

    Hey all, i need help 
        I have a job which was running quite peacefully for the last EVER, but since last Saturday it keeps failing  and then run successfully and then fails. . . . .and gives me the below error.
       Executed as user: Sx\xxx. Microsoft (R) SQL Server Execute Package Utility  Version 10.0.5500.0 for 64-bit  Copyright (C) Microsoft Corp 1984-2005. All rights reserved.    Started:  9:00:00 PM  Progress: 2014-03-11
    21:00:02.16     Source: {122F32F1-F99F-4A5A-BA70-F5426B2747DA}      Executing query "DECLARE @Guid UNIQUEIDENTIFIER      EXECUTE msdb..sp...".: 100% complete  End Progress  Progress: 2014-03-11 21:00:02.19
        Source: Manually replicate tables      Executing query "  USE DBNAME  ".: 50% complete  End Progress  Error: 2014-03-11 21:00:22.35     Code: 0xC002F210     Source: Manually replicate
    tables Execute SQL Task     Description: Executing the query "          exec usp_ReplicateEsourceTable 'Ebase'; ..." failed with the following error: "Named Pipes Provider: Could not open a connection to SQL
    Server [53].   OLE DB provider "SQLNCLI10" for linked server "ServerName" returned message "Login timeout expired".  OLE DB provider "SQLNCLI10" for linked server "ServerName" returned message "A
    network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information
    see SQL Server Books Online.".". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.  End Error  Progress: 2014-03-11
    21:00:22.45     Source: Notify on failure      Executing query "exec msdb.dbo.sp_notify_operator   @profile_name =...".: 100% complete  End Progress  DTExec: The package execution returned DTSER_FAILURE (1).
     Started:  9:00:00 PM  Finished: 9:00:23 PM  Elapsed:  22.25 seconds.  The package execution failed.  The step failed.
    I have already tested the linked server connection between those servers and its fine. And what is weird is that when i run the job manually it runs successfully. 
      Any ideas? 

    Hi,
    How often does the job run? Does the query fail intermittently?
    I suggest you check the following configuration on both servers:
    1. In SQL Server Configuration Manager, expand SQL Server Native Client Configuration, right-click
    Client Protocols, and then click Properties. What’s the order of protocol?
    2. Check if the default port of TCP/IP  is set to 1433.
    By default, the top protocol is to use TCP/IP and then Named Pipes. There are two possible situations:
    1. Connection fails and client protocol is using TCP/IP 1433.
    When server A remotes to server B, it will use TCP/IP connection. If it encounters some issue during connecting (such as network issues), it will use Named Pipes instead. If the Name Pipes 445 still fails, thus the above error message will
    be thrown out. It will use Name Pipes afterwards until the SQL Server service is restarted.
    2. The port number is not 1433.
    However, the remote machine is listening 1433. Then, the linked server will trying to use TCP/IP first. Because of the port error, it will change to Name Pipes.
    Thanks.
    Tracy Cai
    TechNet Community Support

  • Bcp out to windows named pipe

    I'm trying to export from bcp to a Windows Named Pipe.  Is this supported?
    I'm getting the error below when running this export...
    "bcp" [SQL_Class].[dbo].[Customer_table] out "\\.\pipe\testpipe" -S 12.12.122.12,12121 -U sa -e "err.txt" -o "out.txt" -w
    I'm able to log on to SQL Server, but I'm getting this error...
    SQLState = S1000, NativeError = 0
    Error = [Microsoft][ODBC Driver 11 for SQL Server]Unable to open BCP host data-file       
    DimpipeServer
    AsNewNamedPipeServerStream("testpipe",
    PipeDirection.InOut, 4,
    PipeTransmissionMode.Byte,
    PipeOptions.Asynchronous, 131072,
    131072)
    pipeServer.WaitForConnection()
    I've been able to start a reader which is Teradata Fastload and it is able to open the pipe and is waiting for the read from bcp, but I keep getting this error.  Is it looking for the pipe on the server instead of locally? Is this a permission
    error.  I haven't found too much with regards to using bcp and a Windows Named Pipe so I'm just wondering if this is possible?  Thanks.

    Hi coffingdw,
    I agree with you. There should not be an issue with BCP.  You can use following command to export the data to a txt file.
    BCP MyAdventureWorks.Person.Person out "c:\out.txt" -S servername -T -c
    As the description, I know you are using Teradata FastLoad. You can refer to the following thread regarding sending data to Windows Named Pipe in the Teradata website forum.
    http://forums.teradata.com/forum/tools/sending-data-to-windows-named-pipe
    Best Regards,
    Tracy
    Tracy Cai
    TechNet Community Support

  • Named Pipes Error Recovery

    I have a program which uses named pipes to communicate with a (third party) named pipe server. I call CreateFile to open the pipe, then Readfile and Writefile to read and write data. If I get an error, e.g. due to a network fault, I call CancelIo, then
    CloseHandle to close the pipe, then Createfile to re-open it. I have tested this by unplugging/replugging the network cable. However, on site in a 'real' environment, I have had a couple of occasions where I have received a 'ERROR_NETNAME_DELETED' from the
    pipe I/O, and when I close the handle and call CreateFile to try and recover, I get the error 'ERROR_SEM_TIMEOUT' from the CreateFile call. Can anyone think why this might be? I guess a difference between my testing and what is happening 'for real' might be
    that my testing involved disconnecting the network cable, whereas the 'live' incident may have been just a temporary glitch on the network.

    Yes, unpluggin a network cable is entirely different from communication glitches, lost packets and firewall issues.
    One of the big reasons is that unplugged network cables are detected by windows, and the port is shut down. In network management in control panel you'll see the red cross. resources associated with that port will be freed, and communications will be aborted.
    However, if the network port stays up, Windows will not know that anything went wrong. It still sees an active port, so it will just keep waiting for data to arrive. Communications that were in process may still be waiting when you retry them, so you have
    to be careful with the error handling, and verify that a) you handle all problems, and b) you cancel all necessary things.
    If you want to test such scenarios, you could play with the firewall on the target computer to simulate lost packets and timeouts.

  • Named Pipes Provider: Could not open a connection to SQL Server

    We are running into an error on a SQL request from SQL-IDA to the SQL-IDB server. Both servers are on Windows 2005 with MS SQL Server 2003 SP3.
    OLE DB provider "SQL-IDA" for linked server "SQL-IDB" returned message "Login timeout
    expired".
    OLE DB provider "SQL-IDA" for linked server "SQL-IDB" 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 53, Level 16, State 1, Line 0
    Named Pipes Provider: Could not open a connection to SQL Server [53].
    It seems to suggest that SQL-IDA cannot find the network path to SQL-IDB. We've followed the steps in this article http://support.microsoft.com/default.aspx?scid=kb;EN-US;914277 but it did not resolve our issue. Is it possible that the MSDTC dynamic port range
    should be set to a specific range on both servers?
    Any help is greatly appreciated.
    Albert

    Hi Albert,
    Can you try to use the SQL Server Management Studio on server ‘SQL-IDA’ to connect to the instance on server ‘SQL-IDB’ to see if it works or not?
    There are possible reasons to error 53:
     a) typo in the server name, or using "/" rather than "\" between server name and instance name, e.g. "myserver/myinst" is not correct.
     b) name resolution to the server name is not correct, "ping -a yourserver" would tell if that's the case
     c) The server machine is firewall'ed and file sharing is not in the exception list. You need put "File and Printer Sharing" in exception.
    For more information:
    Named Pipes Provider, error: 40 - Could not open a connection to SQL Server (Microsoft SQL Server, Error: XXX).
    TechNet Subscriber Support
    If you are
    TechNet Subscription user and have any feedback on our support quality, please send your feedback
    here.
    Stephanie Lv
    TechNet Community Support

  • Named Pipes provider, error:40 could not open a connection to sql server. Only happens on one of the front end SRS servers

    when testing a datasource connection I get the following error.
    Named Pipes provider, error:40 could not open a connection to sql server.
    I've read all the posts on this and nothing works.  This is a scale out deployment and the connection
    works from the other server I have setup with SRS that is connected to the same backend SRS databases.  It just doesn't work from one of the SRS front ends.  I'm at a loss..  please help

    Enable both named pipe and TCP communications.
    Make sure client is using the same (named) pipe name as server for connection.
    Kalman Toth Database & OLAP Architect
    Free T-SQL Scripts
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Export and Import using Named Pipes

    Hai,
    I need an clarification in export, import and compress of dumps using named pipes.I am using Oracle 9i RAC 9.2.0.4 in AIX 5.3. Every month i have to move list of tables from one database to another database after taking export dumps. The list of activities done by me at present are given below.
    1. Taking export and gziping the dump file at the same time using named pipes.
    2. Doing uncompress and import in the second database using named pipes.
    We are doing compress for space constraints. Now my doubt is whether using named pipes, we can do both operation of import and compress of dump file at the same time. i.e, at the time of export itself , using named pipes, i need both import in the another database and compress the zip file. Is it possible?

    mknod exp.out p
    exp dbadmin/admindb file=exp.out owner=scott log=export.log statistics=none &
    imp dbadmin/admindb file=exp.out fromuser=scott touser=foobar log=import.log
    rm exp.out
    cat import.log
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Export file created by EXPORT:V10.02.01 via conventional path
    import done in US7ASCII character set and UTF8 NCHAR character set
    import server uses AL32UTF8 character set (possible charset conversion)
    . importing SCOTT's objects into FOOBAR
    . . importing table                        "BONUS"          0 rows imported
    . . importing table                         "DEPT"          4 rows imported
    . . importing table                          "EMP"         14 rows imported
    . . importing table                     "SALGRADE"          5 rows imported
    About to enable constraints...
    Import terminated successfully without warnings.Edited by: sb92075 on Jan 1, 2010 1:42 PM

  • Re: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server

    Hi,
    I'm encountering an issue with "Named Pipes Provider, error: 40 windows" and am having problems determining how to fix it due to the environment I'm using.  I have two SQL Servers installed on two separate Win2K3 Server boxes, one is SQL Server 2000 and the other is SQL Server 2005.  The SQL Server 2000 contains the actual application data.  The 2005 database is used only for Reporting Services.  I've set up the reports on SSRS such that their datasources hit the 2000 server.  This is using SQL Server authentication.
    When testing the reports via SSRS (in Visual Studio 2005), the connection to the data works and the reports are generated fine.  When I deploy them to the reporting server and launch IE to test locally (still on the 2005 box), I get this "Named Pipes Provider, error 40" issue.  I made sure that Named Pipes and TCP were enabled and the port set at 1433 (to match that on the 2000 box). 
    Now I changed the datasource's authentication from SQL Server to Windows authentication.  I tested this in SSRS and this works too.  When I redeployed the reports with this authentication change, testing the reports via IE locally (on the 2005 box) worked.  Great.  Now when I open IE on an external box, i.e. on the 2000 box, and try to test the reports, I get this same error 40 issue.  I've been through a few threads describing the error 40, fiddling around with the SQL Server configuration as well as SSRS, to no avail.  I have a feeling this error 40 issue has to due with permissions/authentication between the SQL Server boxes but I can't really be sure.  Anyone have any ideas on how to troubleshoot my situation.  Thanks.
    larry

    Named Pipes Provider, error: 40 - Could not open a connection to SQL Server :
    I.   Incorrect connection string, such as using SqlExpress.
    Check out: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=558456&SiteID=17
                    https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1245564&SiteID=1
    The typical error when dealing with Express includes:
    a.  User is not aware of SqlExpress was installed as a named instance, consequently, in his/her connection string, he/she only specify ".","localhost" etc instead of ".\SqlExpress" or "<machinename>\Sqlexpress".
    b. Np was disabld by default after installing SqlExpress.
    c. If Sqlexpress was installed on the remote box, you need to enable remote connection for Express.
    Please read the following blog for best practice of connecting to SqlExpress.
    http://blogs.msdn.com/sql_protocols/archive/2006/03/23/558651.aspx
    II. Named Pipes(NP) was not enabled on the SQL instance.
    Check out: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=136253&SiteID=1
    Oppose to SQL 2000 which turn on all protocols, SQL 2005 SKUs turn off NP by default. So, when you see this error, please check:
    1) Go to SQL Server Configuration Manager, See Server has NP enabled.
    2) %windir%\program files\microsoft sql server\mssql.1\mssql\log, notepad ERRORLOG, see whether Server is listening on NP.  You should see "Server named pipe provider is ready to accept connection on [ \\.\pipe\sql\query ] or [\\.\pipe\mssql$<InstanceName>\sql\query]"
    3) Notice that "sql\query" is the default pipe name, so you need to know server is listening on which pipe name. eg: if you specify server pipe name is "sql\query1", then you would see in the errorlog that server listening on [ \\.\pipe\sql\query1 ], and go to SQL Server Configuration Manager, click client Named Pipe properties, see whether the pipe name is same with the one server listening on.
    4) If you are using SQL Native Client ODBC/OLEDB provider({SQL Native Client} or SQLNCLI), go to SQL Configuration Manager, click client protocols, make sure NP and TCP are both enabled. Right click properties of NP, make sure client is using the same pipe name as server for connection.
    5) If you are using MDAC ODBC/OLEDB({SQL Server} or SQLOLEDB) provider, in command line, launch "cliconfg.exe" and make sure NP enabled and right pipe name specified.
    III. Remote connection was not enabled. 
    Check out: when you right click on the Server in SQL Server Management Studio, in Connections, the Remote server connections part, you have enabled the "Allow remote connections to this server" check box
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=322792&SiteID=1
    https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=763875&SiteID=1
    If you are making a remote connection, namely, your target SQL Server is on the different box as client application, you might need to check whether:
    a. "File and Printer Sharing" was opened in Firewall exception list.
    b. Please see the blog for enabling remote connection for express and troubleshooting tips of remote connection.
    http://blogs.msdn.com/sql_protocols/archive/2005/11/14/492616.aspx
    http://blogs.msdn.com/sql_protocols/archive/2006/09/30/SQL-Server-2005-Remote-Connectivity-Issue-TroubleShooting.aspx
    IV. Server not started, or point to not a real server in your connection string.
    Check out: Open SQL Server Surface Area Configuration and ensure all the required services are started, Remote Connections are configured.
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=348662&SiteID=1
    a. use "sc query mssqlserver" for default instance or "sc query mssql$<instancename>" to make sure SQL Server was started. Sometimes, reseason behind the broken of your client application w/ this error:40 might be SQL server restarted and failed, so, it'd better for you to double check.
    b. User specified wrong server in their connection string, as described in the forum discussion, "MSSQLSERVER" is an invalid instance name. Remember, when you connect to default instance, <machinename> could be best representitive for the instance, when you connect to a named instance such as sqlexpress, you should specify <machinename>\<instancename> as data source in your connection string.
     V. Other reasons such as incorrect security context.
    Check out: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=192622&SiteID=1
    Such error also occured during user operation such as moving database or db mirroring or cluster, any DB OP that might invovle different sql instances, namely, the destination database is located in another sql instance and user is not aware of the state of the destination. I recommend you first isolate whether this fail is during connection stage or data operation stage.
    a. During data operation, you are normally asked to type in the destination server name whether it is default to "(local)" or another server "<remotemachinename>". So, remember the exact string that represent the target instance, then when the error repros, open command line, use "sqlcmd -S<representitive> -E" ,see what happens, if the connection fail, please follow up above I - IV troubleshooting lists. otherwise continue.
    b. If you can make basic conection, but still face the error, then there must be something that server reject the connection or client close the connection for some reason.
    VI. Please try basic connectivity tests between the two mahcines you are working on. One simple way to verifty connectivity is to use command line tools, such as osql.exe. For example, osql -E -Stcpervername\instancename. If it connects cross-machine successfully, please also verify that your connection string in your scenario is correct.
    Here are some blogs which could be helpful: just follow the basic connectivity troubleshooting guidelines on the SQL Protocols blog, see:
    SQL Server 2005 Connectivity Issue Troubleshoot - Part I
    http://blogs.msdn.com/sql_protocols/archive/2005/10/22/483684.aspx
    and
    SQL Server 2005 Connectivity Issue Troubleshoot - Part II
    http://blogs.msdn.com/sql_protocols/archive/2005/10/29/486861.aspx
    Hope this helps.

  • Connecting to sqlserver using named pipe

    I would like to connect to mssql (running on same PC as SQL Developer) using named pipes.
    The host is listed in the Windows Service Manager as \\SX3102971\SIMSLOCAL
    I have gone to the 'Oracle' tab, selected 'Advanced' and in the 'Custom JDBC URL'
    entered
    jdbc:jtds:sqlserver:\\SX3102971\SIMSLOCAL;namedPipe=true;user=<username>;password=<password>
    where <username> and <password> are the true values.
    I receive a message
    Staus : Failure -Invalid connection information specified. Verify the URL format for the specified driver.
    Can anyone advise on what may be wrong?
    Also, can SQLDeveloper handle blank passwords?
    The database is installed as part of a third party application, which sets the default dba logon with no password. SQL Developer states that a password is required. For the example above I have created my own log on.

    Hi,
    I managed to solve the problem. So don't worry about it.
    For others who are looking for the solution...
    - I have referred to the http://www.qint.de/joria/doc/jdbc/jtds.html.
    - I have changed the URL element in IDEConnections.xml file located under where SQLDEVELOPER software is installed.
    - The URL must look like the following ...
    <URL>jdbc:jtds:sqlserver://\\.\;namedPipe=true;instance=<name of the database - without the server name>;</URL>
    Hope this helps.
    Regards
    Raja
    Message was edited by:
    rajaram_r

  • What should be started and enabled in SQL express 2008 R2? Shared memory, TCP/IP , named pipes, VIA

    I copied my Visual Studio 2008 projects to a new computer and am having trouble getting the database to attach to my website to continue with it.
    I uninstalled SQL 2005 express and installed SQL 2008 R2 Express.
    When I looked in the SQL Server configuration manager, I wasn't sure what should be running and what should be stopped and what protocols should be enabled, etc so I started everything and enabled everything.
    However, the SQL Server Agent will not start. Maybe I did something wrong by enabling everything. I have everything to start automatically, and all enabled:
    SQL Native Client: I right clicked and opened and under client protocols, have enabled all: Shared memory, TCP/IP , named pipes, VIA
    and under SQL Server Network Configuration, I opened that and under there is listed protocols for SQLEXPRESS AND I enabled same things: Shared memory, TCP/IP , named pipes, VIA
    When I could not start the SQL Server Agent before from the SQL Server configuration mgr. I went into services and started it that way and it did start. But since I have rebooted, it will not start that way either and I now get this message: Windows could
    not start the SQL Server Agent(SQLEXPRESS) Service on local computer. Error 1067
    I'm just trying to get my visual studio project working again. Would appreciate any help. Maybe I should uninstall SQL and reinstall 2005??

    Windows could not start the SQL Server Agent(SQLEXPRESS) Service on local computer.
    As the others already wrote, with SQL Server Express in Version 2008 the "SQL Server Agent" will be installed, but it's not a Feature of the Express Edition and therefore you can't start & use it.
    In SQL Server 2005 Express the Agent was completly missing (not installed), therefore you haven't this "issue" before.
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

  • SQL*Loader Named Pipe Load Thread goes to 0

    Hi,
    Running SQL*Loader 10.2.0.1.0 on XP pro against 10g EE 10.2.0.2.0 Production, RAC.
    Control file:
    OPTIONS ( MULTITHREADING=TRUE, DIRECT=TRUE, ROWS=5000000, COLUMNARRAYROWS = 200000 )
    UNRECOVERABLE
    LOAD DATA
    --INFILE 'C:\Program Files\Delta Data Software, Inc\DDS Twenty Two C\SQL_LOADER\LDR.DAT' "fix 427"
    INFILE '\\.\pipe\testpipe' "fix 427"
    BADFILE 'C:\Program Files\Delta Data Software, Inc\DDS Twenty Two C\DataGen\S-INTERSP-DL.bad'
    DISCARDFILE 'C:\Program Files\Delta Data Software, Inc\DDS Twenty Two C\DataGen\S-INTERSP-DL.dsc'
    INSERT
    INTO TABLE "TDW999999"
    Data File is 1 million row text file, 427 byte per line
    Problem:
    When calling SqlLdr directly against the data file, the import runs in 1:47(min\secs).
    Total stream buffers loaded by SQL*Loader main thread: 408
    Total stream buffers loaded by SQL*Loader load thread: 2036
    However, when I pipe the same data to SqlLdr via a simple c# application with a named pipe, it takes 5:56(mins\secs).
    Pipe Base Load:
    Total stream buffers loaded by SQL*Loader main thread: 104249
    Total stream buffers loaded by SQL*Loader load thread: 0
    It looks like SqlLdr can not go parallel when input is from a named pipe.
    Any Ideas on how I can get my load thread count back up when using pipes ?
    Thanks

    Hi,
    According to http://www.mcse.ms/archive27-2006-1-2068094.html you can do the following (substitute your c# program for 'type load.dat'):
    >
    type load.dat|sqlldr control=load.ctl userid=user/password data=\"-\"
    Alternative (for both , unix and windows)- infile syntax:
    load data
    infile "-"
    into table...
    Metalink note 191043.1 may be interesting for you as well.
    Does the performance then improve?
    Cheers,
    Colin

  • SQL Server Agent - [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001]

    Hi,
    I keep receiving the error below in the SQL Server Agent Error Log;
    [165] ODBC Error: 0, Named Pipes Provider: Could not open a connection to SQL Server [2]. [SQLSTATE 08001]
    It is occurring approximately 20 times an hour and i cannot link it to any job failures. All jobs on the same SQL instance are working.
    The server is a clustered server and there are no errors occuring in the SQL Server error log at the same time. I have attempted to trace using profiler looking for errors and warnings but anything that does occur doesn't seem to correspond to the reported
    times of the errors within the sql agent error log.
    Please could someone point me where to look next?
    Many thanks.

    Please may I add that this is on a SQL Server 2008 R2 Enterprise edition patched to 10.50.1600.
    Nah, that server is not patched at all, because 10.50.1600 is the RTM version. Find Service Pack 2 and install at the next maintenance window, after having performed tests according to your local policy.
    It is not going to resolve your particular problem though.
    It seems like you have a job that attempts to a connect to s server that is down or non-existing. The job may be configured to return success also on failures. I would check if there are jobs that target other servers.
    Erland Sommarskog, SQL Server MVP, [email protected]

  • Named Pipes Provider, error: 40 on workgroup workstations

    I am having issues with a vendor supplied application. It generates an error when run from workstations that are not part of an Active Directory domain. The error is “provider: Named Pipes Provider, error: 40 –
    Could not open a connection to SQL Server)”. It runs as expected when ran from a workstation that is a member of the domain. Obviously adding the workstation to the domain is a solution. However, because of concern of what might break this is not our preferred
    solution.
    The database is SQL Server 2008 on a 2008R2 system that is a member server of a domain. The systems that are having the error are workgroup systems running Windows 7. Except for the final step, I have pretty much
    eliminated the other possibilities in Steps to troubleshoot SQL connectivity issues.
    That, and the fact that the application successfully runs from a workstation that is a member of the domain lead me to believe it is an account/authentication issue on the workstation.
    From what I have determined SQL authentication is required in this scenario and I have confirmed that the database server is configured for Windows and SQL Server authentication. I have also examined
    the configuration file the application uses. It contains the user name and password for the account. Are these credentials not used to establish a connection?
    The only thing I can think of, which I haven’t tested because 1) it is a production system and 2) it is a vendor supplied application, is the application needs to be run under a local workstation
    account with the same credentials as the SQL Server account.
    Could this be the case or is there something else I should be look at?
    Thanks in advance.

    Thanks for your response. I had posted a reply earlier but for some reason it doesn't appear to have uploaded.
    The server name in the connection string is ntsrv12.xxx.yyy.edu. I am able to ping that name and ntsrv12 as well from workstations where the application fails.
    I have some information from some additional testing I have done. Using my workstation, which is a domain member, I can successfully run the application when logged on with my domain user account.
    However, if I logon with a local account the application fails with the error described above.
    I have also been able to match Audit Failures in the SQL Server event log with failed attempts to run the application. There is a two error sequence that appears several times for 15 seconds until the application times out and displays the error message.
    I have listed the errors below but certainly the application appears to see the server. Any ideas on what to check next?
    Thank you.
    The first error in the sequence is this:
    Log Name:      Security
    Source:        Microsoft-Windows-Security-Auditing
    Date:         
    5/6/2014 1:50:05 PM
    Event ID:      4776
    Task Category: Credential Validation
    Level:         Information
    Keywords:      Audit Failure
    User:         
    N/A
    Computer:      Ntsrv12.xxx.yyy.edu
    Description:
    The computer attempted to validate the credentials for an account.
    Authentication Package:              
    MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
    Logon Account: <MyLocalAccount>
    Source Workstation:      
    <LocalSystemName>
    Error Code:        
    0xc0000064
    This error is followed by this one:
    Log Name:      Security
    Source:        Microsoft-Windows-Security-Auditing
    Date:         
    5/6/2014 1:50:05 PM
    Event ID:      4625
    Task Category: Logon
    Level:         Information
    Keywords:      Audit Failure
    User:         
    N/A
    Computer:      Ntsrv12.xxx.yyy.edu
    Description:
    An account failed to log on.
    Subject:
    Security ID:                        
    NULL SID
    Account Name:                
    Account Domain:                            
    Logon ID:                            
    0x0
    Logon Type:                                      
    3
    Account For Which Logon Failed:
    Security ID:                        
    NULL SID
    Account Name:                
    <MyLocalAccount>
    Account Domain:                            
    <LocalSystemName>
    Failure Information:
    Failure Reason:                
    Unknown user name or bad password.
    Status:                                 
    0xc000006d
    Sub Status:                        
    0xc0000064
    Process Information:
    Caller Process ID:            
    0x0
    Caller Process Name:     -
    Network Information:
    Workstation Name:        <LocalSystemName>
    Source Network Address:           
    10.1.36.70
    Source Port:                      
    50145
    Detailed Authentication Information:
    Logon Process:                 
    NtLmSsp
    Authentication Package:              
    NTLM
    Transited Services:         
    Package Name (NTLM only):      
    Key Length:                       
    0
    This event is generated when a logon request fails. It is generated on the computer where access was attempted.
    The Subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.
    The Logon Type field indicates the kind of logon that was requested. The most common types are 2 (interactive) and 3 (network).
    The Process Information fields indicate which account and process on the system requested the logon.
    The Network Information fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.
    The authentication information fields provide detailed information about this specific logon request.
    - Transited services indicate which intermediate services have participated in this logon request.
    - Package name indicates which sub-protocol was used among the NTLM protocols.
    - Key length indicates the length of the generated session key. This will be 0 if no session key was requested.

  • 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. (provider: Named Pipes Provider,

    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. (provider: Named Pipes Provider,
    error: 40 - Could not open a connection to SQL Server)

    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. (provider: Named
    Pipes Provider, error: 40 - Could not open a connection to SQL Server)
    Hello,
    Make sure your SQL Server service is started.
    Make sure TCP\IP and names pipes protocol is enabled
    Make sure you have made an exception in firewall for SQL Server connection
    Make sure SQL Server browser service is enabled
    Make sure you connect with correct name hostname\instance name for named instance,MSSQLSERVER for default instance and Hotname\SQLEXPRESS for express edition.
    Please make sure you use port no when connecting to SQL server listeing on different port (hostname\instance ,portno)
    http://blogs.msdn.com/sql_protocols/archive/2006/09/30/SQL-Server-2005-Remote-Connectivity-Issue-TroubleShooting.aspx
    Hope this helps
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

Maybe you are looking for