Since we change the web server to window 2003, we occasionally receive the message
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionWrite (send())
We use ASP and ODBC to access sql 2005. I have specified to use TCP/IP and port 1433 in ODBC.
Hi, in our environment - Windows XP - SQL Server Express 2005 - Internet connection via TCP/IP protocol
The described network error occurs, when we unplug the network cable: [DBNETLIB][ConnectionWrite (send()).] General network error.
The affected database resides on the locally installed SQLExpress, it doesn't use any network connections. The error doesn't occur immediately, in most cases there are up to 30 seconds where data can be (correctly!) written to the recordset, but after that timeout the connetion is broken.
We already tried out the described workarounds: - disable named pipes protocol - set SynAttackProtect=0 in HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
The error doesn't occur with MSDE (SQL 2000) or under Vista.
We just replaced an older Windows 2000 sp4 server with a new Window 2003 Standard Edition sp2 server to run our batch processing. We noticed that when the SQL command times out we now get the following error in the ADO command object error collection.
[DBNETLIB][ConnectionWrite (send()).] General network error. Check you network documentation.
Native Error: 11
SQL State: HY018
msado15.dll version 2.82.3959 is on this server.
On other servers running Windows 2003 Enterprise Edition sp1 the error on the ADO command object is normal with.
Timeout expired
Native Error: 0
SQL State: HYT00
msado15.dll version 2.82.1830 is on this server.
The SQL server they are talking to is on the other side of a firewall. It is SQL 2005 sp2 running on Windows 2000 sp4.
I have also tested this on a Windows 2003 sp2 server that doesn't have to cross a firewall and get the correct Timeout error. It also has the same version of msado15.dll as problem server.
The application is a collection of VB6 Components that are running in COM+ applications. I have isolated the test application to our one SQL interface component and have build a test vbs that can reproduce this on demand. The VB6 Components were not modified in any way for this change and have been working fine for many years prior to this.
All other aspects of our batch processing works as expected. Transactions are working fine. As long as the SQL doesn't timeout everything is normal. DTCPing was used to ensure both servers have correct ports open to allow DTC traffic. Checked the SynAttackProtect setting on SQL and this is not an issue since other clients have no problems.
One point I would like to add is that this new server was initially setup with a temporary server name and then was changed to use the name of the original server on move day. Don't know if this has any impact or not.
We have a Dell 2950 running Windows 2003 connecting to SQL2005 Database.
Users accessing their SQL application are getting this error message after leaving the application open for a period when they are not accessing the system. We have run the application on two different servers and cannot re-create the errors, which might suggest a hardware problem with our server, but as yet we haven't identified the problem.
I am facing a strange problem using ADO to connect Sql Server that I can not resolve it.
My program connected to SqlServer when it started, the state of the connectionPtr was adoStateOpen.Then I disable the network card and enable it immeditately, the errors happened when I executed the sql query probably because of connectionPtr was invalid,but the state of connectionPtr was always adoStateOpen.
1)Msg: Unspecified error Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (send()).
2)Msg: Unspecified error Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC SQL Server Driver]Communication link failure.
Should I reconnect to SqlServer?How can I catch this error when the connection is valid except other errors?
Sorry,my english is poor and thanks for your response.
Has anyone encountered this error and found a solution? A batch process received this error for the first time last night. We are running SQL 7 on an NT4 server, and the client machine is a Win2K box. The process is a VB application, using ADO to connect to the database. We are using TCP/IP protocol. We were using the Named Pipes protocol in the past, but changed to TCP/IP a few weeks ago, because we kept getting a "ConnectionWrite(GetOverLappedResults)" error, and found information that stated the error was due to the Named Pipes protocol, and the solution was to switch to TCP/IP. FYI, since switching protocols we have not seen the ConnectionWrite(GetOverLappedResults) error, and we used to get it everytime the process ran.
Any help or suggestions are appreciated. If any further information about our systems or the process would help, let mw know and I will provide it.
Hi, Can anyone shed any light on a connectivity issue I am seeing 'in the field'?
I am using a SQL2005 Express SP2 'default' instance database running on a WEPoS (a prepackaged XPe SP2 variant for Point Of Service) platform. The application connects to SQL via an ADO trusted connection / DSN pointing to '(local)'. SQL2005 is configured to use shared memory for local connections and named pipes for remote connections.
This all runs fine (sometimes for days on end) ... Then out of the blue I get the following error: [Microsoft][ODBC Sql Server Driver][Shared Memory]ConnectionWrite (send()). SqlState 01000 Err: 0x2746
In the latest example this was on an 'INSERT INTO' statement with 7 parameters (~100 bytes the lot!)
Resetting the connection (.close->.open) in the connection error handler reconnects fine and catches the error in the majority of cases, but unfortunately this is not possible from some of the older (closed source) code we use.
Has anyone else had similar experiences? Better still does anyone have a workaround that does not involve changing application code?
I also made the observation (and this may be a red herring as no LAN comms is required in this case) that the external PC LAN connection was intermittent around the time of the error - although the timestamps from the logs were off by 10/15 mins.
A/Virus McAffee v4.5.1 SP1 is also installed on the PC.
Assuming that IP/Sockets was added during the SQL installation. Forgetting the known reasons for selecting them (Integrated security, etc.)
I've never fully understood why one connect method worked in some cases and the other did not. Can someone attempt to convey what the real differences are. What are required to use Pipes/Sockets. Do you need to be in same Workgroup/Domain, have a name server, etc.
I believe we all could benefit from a good explanation of this.
A Win95 PC was having some TCP/IP problems that were corrected by the helpdesk. After that, SQL 6.5 client utilities were not working properly. When trying to configure TCP/IP sockets in the Client Config, there is an error "Unable to locate the Net Library in Path". The necessary files appear to be in the correct path when I choose locate. I deinstalled and reinstalled the client utilities with no luck.
Also, when I enter the SQL Enterprise Manager, the error "Network Communications layer not loaded" appears.
Any ideas?
Thanks, Christi Fischer fischerc@mail1.monmouth.army.mil
We would like to use dns entries (CNAME) to create transparency between server infrastructure and logical servernames. So we could physically move databases onto another server and changing the dns entry without reconfiguring all client applications.
Old situation: - Financeapplication connects to SERVERA (wins) through a .ini file.
New situation: - Financeapplication connects to finserver.mydomain.be (CNAME) - finserver.mydomain.be points to servera.mydomain.be (A record) in dns - servera.mydomain.be is refering to the ip address of SERVERA
We tried to connect and got a 'get_overlapped_results' (clientside) when using a dns name in combination with named pipes. At the server we are getting this error:
Error: 17832, Severity: 18, State: 8 2001-08-24 13:10:16.64 ods Connection opened but invalid login packet(s) sent. Connection closed.
Connecting to the wins name of the server does work! Connecting to the dns name also works when using tcp sockets instead of named pipes.
Though, on some client pc's this does work with named pipes too, but we couldn't find any regularity or logic when it works or when it doesn't (service packs, mdac versions, NT/95/98/2000, ... etc).
We also noticed that integrated security works with tcp sockets when using dns names, but it doesn't when using wins names.
NT EE, MSCS, SQL 7.0 in Active/Passive environment. Add'l SQL installed on Passive server is hosting our Report database(any tips on Log Shipping?). Anyway, I am unable to configure a client to connect to the secondary server via TCP/IP sockets.(Error 10061). I use the standard port 1433 and I've tried using both the name and the IP address for the server name.
What it looks like it's doing is only listening to port 1433 on the hearbeat nic. The reason I believe this is because when I ping the server name from that server, it returns a succesful ping, but using the heartbeat(seperate subnet)nics IP address.
Ping from a remote box works fine(DNS/Wins Resolution), and I connect fine with Named Pipes.
Both the primary and secondary server display the same results, the difference appears to be that only a virtual server in a clustered environment can have TCP/IP clients connect to it.
Can anyone verify this for me? Thanks a bunch...
MS says to go Active/Active and I am willing to do so, eventually. Looking for a short term solution.
I'm not able to listen on a different port(again, appears only a Virtual server can).
We are having some problems using TCP/IP connection and was wondering what the benefits are to using this versus Named Pipes. The company that provides our software stated that this would improve performance but I do not see it and I am getting a lot of errors connecting. This also locks many of the users and I end up having to stop and start the database to clear the locks because there are so many. Would it be better to place the clients on Multi-protocol. It seems more powerful to use but I wanted to get some feedback from some people that may have dealt with this issue before.
One of our customers is experiencing a problem that makes me think there is a network problem, because we make a request and never return from the driver, but the transaction is still open on the server awaiting the next command (and holding locks blocking other processes). I see a number of other driver writers have described similar problems, and their "workaround" is to set SO_TIMEOUT on the sockets (setSoTimeout) they create which is a last defense so that the transaction won't block forever.
I do not see this in the API documentation- how can I set this? Many other drivers use a connection string parameter, do you offer the same?
Is there any logging I can enable that can show me for sure that the driver is waiting indefinately on socket.read (thats not terribly expensive)?
I have create a SSIS package, for data export import process, but if my task get failed then i have to send a mail with proper error description as the SSIS generate in output window.
Can any one sugget me to, how can i store that error desciption in my variable.?
I have set up a multiple server merge replication publication using the following:
SQL server running SQL Server 2005 (SQL server ce server tools installed) Web Server running IIS (Required replication elements installed)
All went smoothly with the installation and I was able to running the diagnostics report from my Pocket PC by browsing the web page url that contains the slqcesa30.dll
http://www.myserver.eu/repdata/sqlcesa30.dll
I then ran the configure web synchronization wizard and setup basic authentication (I am using this purely for test purposes and will reconfigure the security when testing is complete) I then created a user on both the SQL server and the Web Server (identical on both machines) and gave this user the required rights in all objects. I have set up a trial application using visual studio 2005 vb.net on a windows mobile 5 device. When form1 loads the following code is fired:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'' Configure the DataAdapter for use in UI binding cnField = New SqlCeConnection("Data Source =documents and settingsMobileData.sdf;") daField = New SqlCeDataAdapter("SELECT Id, LatLong, Dateandtimeoffix FROM FieldData", cnField)
'' Configure the update comand Dim cb As New SqlCeCommandBuilder(daField)
Merge() End Sub
Private Sub Merge() Const URL As String =€? http://www.myserver.eu/repdata/sqlcesa30.dll€? '' URL to Agent Const InterNetUser As String = "Fielddata" '' InternetUser Const InternetPassword As String = "Password" '' InternetPassword Const PublisherServer As String = "MyServer" '' Publisher server Const PublisherDatabase As String = "Table_Test" '' Publisher Database Const PublicationName As String = "RepData" '' Publication name Const SubscriberName As String = "Testing" '' Subscriber name Const LocalDB As String = "Data Source=documents and settingsMobileData.sdf" ''Connection string to local database
Using rep As New SqlCeReplication(URL, InterNetUser, InternetPassword, PublisherServer, PublisherDatabase, PublicationName, SubscriberName, LocalDB) Try If Not System.IO.File.Exists("Documents and SettingsMobileData.sdf") Then rep.AddSubscription(AddOption.CreateDatabase) End If rep.Synchronize()
Catch ex As SqlCeException DisplaySQLCEErrors(ex) End Try End Using
SetupDataSetforUI() End Sub
When the code executes I obtain the following error: Index #0 Microsoft SQL Server 2005 Mobile Edition Error: A request to send data to the computer running IIS has failed for more information see HRESULTS. I have looked this up and it appears to be to do with certification? Is this correct I am using HTTP not HTTPS? Any assistance appreciated joebo
I cannot seem to get the FTP task to send files. I tested the process manually (not using ssis) and it works fine. I have tried many ways to transfer the files, using variables, including full paths, partial paths, etc. but I keep getting a "550 permission denied" error. I have rechecked all variables. Has anybody else had trouble sending files with the FTP task?
I just created a very simple package in SQL 2005 using the Send Mail task - i made a connection manager & specified the Exchange server - and then ran the package and i got the below message: I am not sure what i did wrong since the message is pretty general. Anyone help would be very appreciated. Thanks
SSIS package "Test.dtsx" starting. Error: 0xC002F304 at Send Mail Task, Send Mail Task: An error occurred with the following error message: "Failure sending mail.". Task failed: Send Mail Task SSIS package "Test.dtsx" finished: Success.
Hello, I have the following problem. I have a (Test-) package containing a task that deletes rows in a table. On Failure I implemented a Send Mail task that informs me about the output. Now the problem: If I run the package in BIDS on my client computer the mail is sent and I get it. The same is true if I run the package on BIDS on the Testserver where the package is stored. Also I get a mail when running the package as SQL Agent Job. But I never get a message when I simply execute the package from the Managament Studio. Then I get the error message: "The task Send Mail Task cannot run on this edition of Integration Services. It requires a higher level edition. " This is the same whether the package is stored in msdb or in the Filesystem. Does anyone know why this is the case or how I can get rid of this error?
I am trying to use Send Mail Task to send mails within my package and I get the following error. "The server response was: 5.7.1 Unable to relay for test@mail.com". Can anyone help me on this?
I setup a "Send Mail Task" task and an SMTP connection objection. I ran the package and got this error:
>>>
SSIS package "Package.dtsx" starting. Error: 0xC002F304 at Send Mail Task, Send Mail Task: An error occurred with the following error message: "Failure sending mail.". Task failed: Send Mail Task Warning: 0x80019002 at Package: The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors. SSIS package "Package.dtsx" finished: Failure.
>>>
Usually the SSIS error messages are too complicated for me to understand but this one doesn't say enough to be useful. Next, I purposely put in an invaid IP address (last octet = 3456 !) for the SMTP address, ran the package, and got the identical error message. I learned something.
What SSIS toolslogsstrategies can help me track down the problem?
Can somebody guive me alittle guidance in how to make this? I have like 4 lookups but some can throw errors, and I need to know what happened when I go to the office in the moorning.
I have a problem using the send mail task with expressions. What I want to do is send a mail to all email addresses stored in a particular table.
What I already did:
I created a dataflow task that retrieves all email addresses from that particular table and writes them to a recordset destination; After that, I created a 'for each loop container' that loops through all email addresses. Until here, the package runs without any problems, and all email addresses are returned. Now I put a 'Send Mail' task in this 'for each loop container'. I enter a smtp connection, a from, a subject and a messagesource manually. But of course, I want the 'to' to be filled dynamically on runtime. Because of that, I added an expression on the expression tab where I map the ToLine with the variable filled during the loop. And now the problem: confirming everything and exiting the 'Send Mail' task result in a red cross appearing on the task, telling me 'No recipient is specified'. Of course, no recipient has been specified, as I want it to be filled on runtime. What I already tried, was to enter a recipient in the 'to'. Then the red cross disappears, but when running the package I get the same error.
Some body have this error : Could not generate mail report.An exception occurred while executing a Transact-SQL statement or batch.No global profile is configured. Specify a profile name in the @profile_name parameter. When i execute my maintenance plan.
SSIS : I have a "On Failure" precedence constraint that executes a Send Email Task for a Data Flow Task. Do you know how I might capture the error message from the Data Flow Task to include it in the Email (most likely as a variable)?
I have a job that emails out shipment notifications at the end of the day to our customers. The problem I have is I don't understand why the same email is sending out twice within a minute of each other when the job is only scheduled to run once. If I take the code out of the step and run it in management studio it only emails once. I attached the code for one customer for reference. We are running SQL 2008 on a VM sending to an exchange 2010 server.
DECLARE @tableHTML NVARCHAR(MAX) ; SET @tableHTML =N'<H1>XYZ Company ASN For ' + CONVERT(VARCHAR(10), GETDATE(), 101) + ' </H1>' + N'<table border="1">' + N'<tr><th>Vendor</th><th>Delivery Date</th>' + N'<th>Purchase Order Number</th><th>Item Number</th><th>Item Description</th>' + N'<th>Quantity Shipped</th><th>UOM</th><th>BOL Number</th>'
We currently have a SSIS package which is using a batch script . This batch script actually executes on TERADATA server and loads data in to terdata db. We did not get access to UNIX env so we are planning to create SSIS packages that can call the batch scripts and perform tasks on terdata.
Can somebody throw some light how to caputure the information if there is error in batch script or data loading and send a mail.
Ealrier we created packages that were doing data loading on SQL server and if something fails then we used error handling machanism in stored procedures which logs failure event in to SQL table and then using send mail task it send a email.
I nwant to know how to use error handling when something fails on terdata and send mail to us.
I am running Windows 2003 Standard edition with IIS and SQL 2000 SP3a installed on it.
The web clients use ASP pages which use DSN to connect to SQL 2000 database. It has been working fine since last 1.5 years except 2 days ago when I faced this error suddenly on server:
I checked the error logs of SQL server and didn't find anything. Only entries were that the SQL is starting database, ports and IPs on which it is listening etc. The usual stuff. No errors in starting.
The SQL Agent log showed following errors:
2004-11-30 04:45:33 - ! [298] SQLServer Error: 2, ConnectionOpen (Connect()). [SQLSTATE 01000] 2004-11-30 04:45:33 - ! [382] Logon to server '(local)' failed (JobManager) 2004-11-30 04:45:36 - ! [298] SQLServer Error: 17, SQL Server does not exist or access denied. [SQLSTATE
I don't understand what was the problem. It first occured when nothing on server was changed, next it occured 30-32 hours later, and still now it hasn't happened again.