I am someting of a newbie to SQL Server, but I am an experienced C++/C# programmer.
I have a SQL Server 2005 DB to which are connected 50 or so clients.
The clients are running my software, written in C# and connected to the server by an OleDBConnection.
These connections are long-lived; in some cases they remain for days or more.
Now and again, one of the clients causes a change to the DB (not structural, just normal adds, update and deletes).
But most of the time the clients are just viewing data in the DB.
What I need to happen is that when any item of information changes, the display of that information on any of the clients which are viewing it must be updated quickly.
It doesn't have to be instant, but a delay or more than, say, 5 seconds is unacceptable.
It is like a share-dealing or foreign exchange system (although that is not what it is) where the traders' screens have to have up-to-date information at all times.
Note that the information received by the clients does not have to describe the change in detail, just a hint to the client as to what change has happened so that the client can refresh its views.
I can think of a way of doing this but it is really nasty.
The hints would be recorded in a time-stamped table. Each client would poll every couple of seconds by calling a SP, which would return the hints which have been added since the last time that client polled.
But polling is horrible and I am sure that there must be a better way.
A route that looks promising is InfoMessages. But, reading around the subject, it looks like these cannot be unsolicited and spontaneous; they only arrive on a Connection as a result of some action on that Connection.
I may have missed something, or maybe InfoMessages are not the way to go.
Can anyone offer me any advice, please
I have a production SQL2000 in Location A with Database A. I have another SQL2000 in Location B. I want to copy Database A to Location B. Any changes in Database A in Location A gets pushed to Location B.
I have 14 databases, the last database - 14th one will have lookup tables only. The other 13 databases will have these lookup tables and data tables. At the end of each day I will make updates for lookup tables on 14th database, I want to be able to push the updates to any or some of the 13 databases. Look up tables will have only upto 100 rows, so I am not concerned about the bandwidth. What is the best way to accomplish this.
I have 14 databases, the last database - 14th one will have lookup tables only. The other 13 databases will have these lookup tables and data tables. At the end of each day I will make updates for lookup tables on 14th database, I want to be able to push the updates to any or some of the 13 databases. Look up tables will have only upto 100 rows, so I am not concerned about the bandwidth. What is the best way to accomplish this.
I have package which pulls data from db table and creates a excel file extract.The flow is like this - A excel file template sits in the input folder folder for processing .The package starts by dropping excel sheet in the excel(which is clearing any data and columns available) once that is done it has script task which creates a new columns for the sheet and gives a sheet name as well .Then a execute sql task runs and pumps data into a table which serves as a source for the excel extract process .The excel extract process involves pulling data from the table and doing data conversion before it moves it into the oledb destination (excel file on file server).When I run the package I go and see that data is pushed down . I see top rows say 100 are empty and data appears after say 100 rows .
I tried deleting excel file and replacing with new one empty with columns and sheet name only but still it doesnt work?I am trying to understand what is making ssis behave like this and what can I do overcome the problem ?I read on google that we need to bring in file system task will move a template to working directory which is input folder but I dont want it to incorporate that logic as we need to push this package to production ASAP with very minimal change.
reading help i know that client for working with mssql remote db must have installed oledbprovider for XXX
i always use ole db provider for ODBC , this ole db provider is installed with mssql, but what exactly must to have the clients which are not familiar with this ole bd provider, what files ?
I want to connect over the internet to get data from clients.What wouldbe the easiest method and the most stable methos to do it1.Use a Point to Point prtotcol from the client pc and then upload thedata to our sql server2.Export the data from the clint pc in XML format and then Enter it inour computer.3.Have all clienst ftp the data in a dirctory and then upload the xmlfiles from the directory?Thanking you in anticipation.Would love it if we could discuss anddistribute our thoughts on this.Ajay
Hello,I'm looking into offering a custom data driven web app that I wrote for an organization that I'm apart of to other similar organizations. I would be hosting the data and web application code on my dedicated server. This application is using the membership api supplied in .NET 2.0 and also has my own custom data tables within it.My question is what would be the best way to add clients to this? Should I simply create a new database for each new client like so: ACME_Database, ABC_Database, AAA_Database etc. Or should I add some sort of client "Tag" (tag meaning column within each datatable) to these databases and then update my SQL queries to process them accordingly. I imagine I could do both but I guess I need some advice from people that already had experiance with providing this kind of service. Thanks!Jason
Hi,i have a problem about the CLIENT-SERVER architecture procedure.Well , i have an application in VB with ADO connection to a table in adatabase on a SQLSERVER 7.0 .Is possible to do that when a client updates a data in a field of my table ,the SERVER communicates to all clients connected to my table that this dataare updated , without the client do anything , for example without aclient-timer to control the data in the server ???thanks
I am new to DTS/SSIS and have a couple of questions about using it to solve a problem. We have an application running on SQL Server 2005 where status records are written to a status table. I need to be able to send those records over to a status table in a legacy application running on Access.
Originally, I thought about writing a custom c# stored proc and accessing Access from it and then someone pointed me to DTS/SSIS.
Is there a way to exectute the package based on a trigger event that a row was inserted or updated? If not and I take a scheduled approach (every 3 minutes, etc.) do I have to maintain a column for the records that get processed so they are not picked up again.
In general is using SSIS the approach to take? The overall business requirements are straight forward, but I am not sure if SSIS is overkill for this or not.
I have a SQL CE database that is synching up with a SQL Express database (therefore no replication). I do a pull down (with RDA) Table XYZ with no rows. I fill out the rows on the PDA I push the changes back to SQL Express What I would like to do now is selectively delete some rows from the CE Database. BUT, I don't want those rows to delete from the SQL Express master database. How can I do this?
I have a primary and secondary servers both running Windows 2000 SP3 with SQL 2000 SP3. I have set up transactional replication with the primary server as publisher and the secondary server has the distributor and subscriber DB. I am testing the scenerio where my primary server goes down and I have to make updates to the secondary server until my primary server comes back up. I am able to update my subscriber database and the transactions go into the MSreplication_queue table to be pushed back to the primary when it comes back up. When I bring the primary server back up and start the queue agent job it starts pushing the transactions over and then stops after 4 or 5 transactions with the error "Failed while applying queued message to publisher". I have attached part of the log file for the agent below
In the sql server logs I am getting this message: Replication-Replication Transaction Queue Reader Subsystem: agent Repl Queue Reader failed. Failed while applying queued message to publisher. Error: 14151, Severity: 18, State: 1
I'm trying to get the last ten unique clients viewed by each user. I have tried using the TOP (N) but it does not show the last ten just any ten. When a user views a client record, a record is saved to the tblUserRecentViewedClients table and includes logID (key), client_id (int), username (nvarchar), lastviewed (datetime). Here is what I have so far. Can anyone offer any suggestions?SELECT TOP (10) tblUserRecentViewedClients.UserName, tblUserRecentViewedClients.Client_ID, tblClient.FirstName, tblClient.LastName, tblClient.CompanyName FROM tblUserRecentViewedClients INNER JOIN tblClient ON tblUserRecentViewedClients.client_ID = tblClient.client_ID WHERE tblUserRecentViewedClients.UserName=@UserName GROUP BY tblUserRecentViewedClients.UserName, tblUserRecentViewedClients.Client_ID, tblClient.FirstName, tblClient.LastName, tblClient.CompanyName
I have to install SQL 7.0 Client software (query analyzer, client connectivity) on A LOT of workstations that only have Internet Explorer 3.0 ... Is there any way of getting around not upgrading to 4.0 sp1? If I try to just install 7.0 client, it errors out saying I need IE 4.0sp1. I really don't want to have upgrade IE!!!
Are there any issues with retaining both the SQL 6.5 and SQL 7.0 clients as installed components on our desktops? We have a number of SQL 6.5 and 7.0 Servers which have some fairly specific client side requirements and I am trying to ascertain what the potential impact is to rolling out SQL 7.0 components to a separate directory to allow all applications to coexist. My specific concerns are with the shared DLL's in system32 and with updated 7.0 executables that share the same name (i.e. BCP, etc) and resultant path issues.
Any feedback or articles that cover this subject would be appreciated.
Company with one head office and one remote office. In the two offices I have two domains with two PDCs. The two networks are connected with eachother through leased line and the routers are configured properly. The SQL Server is on the PDC in head office and "local" clients connect fine. I cannot connect from the remote office. I think that I have folowing solutions:
1. make trust relationships between two domains - it will be hard a little bit because second PDC is samba on linux
2. make all clients in remote office to be members of the head office domain - potential problems if the leased line drops
3. make all clients to log in with same account as SQL Server logs locally - stupid
Can anyone recommend a tool where I can email to someone both the SQLquery and the result set? Right now, I'm just copying the results to aspreadsheet. No, I can't use Reporting Services or Crystal Reports.
I have a SQL Server 2005 Express database that was designed to be used by one client. What is the best way to change the design so it can contain multiple clients that can only see data entered by users of each client organization? Also I'm using the asp.net membership database to handle login and profiles. Can this be used with my multi client database?
“HELP !! We’ve lost about 25 client’s websites. The databases were backed up along with all the actual files contained within each CSK….in addition, all the original databases are intact & can be reattached to the new SQL server…..the problem that exists where the original CSK files do not recognize the original database once it is reattached to the new SQL server. Any help would be most appreciated. This is the error…… Login failed for user 'DARRYL1ASPNET'. 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: Login failed for user 'DARRYL1ASPNET'.Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:
We’re having trouble getting error messages to show up on clients. Our ADO research indicates that the Errors collections is populated, “automatically” – what you do with it is up to the application. Our collection is not being populated. MS says the SQLOLEDB provider has a problem (the collection is not filled) if SET NOCOUNT is OFF. We have SET NOCOUNT ON and still have the problem. We have narrowed the problem down (the example below is an abbreviated version) to “the Errors Collection is not populated if the Raiserror follows a SELECT statement that returns a recordset”.
In the code below the simple select run after the first RAISERROR appears to “block” the Error Collection. Is this by design? Are you never supposed to be able to return records and messages from the same program? We can code around it if we have to, but the documentation seems to indicate our approach is viable.
Option Explicit Dim db As New ADODB.Connection Dim cmd As New ADODB.Command Dim rs As New ADODB.Recordset
Private Sub Command1_Click() On Error GoTo errmsg
Set rs = New ADODB.Recordset Set cmd = New ADODB.Command
With db .Provider = "SQLOLEDB" .ConnectionString = "Data Source=Jeanne;trusted_connection = true;integrated security=sspi" .Open .DefaultDatabase = "DevTime21" End With
Hi all,I've got a question concerning synchronization of multiple database clients.Consider a database, accessed by two clients. Is it guarantted, that ifclient 1 succefully commits a transaction, client 2 _instantly_ sees thechanges made by client 1?thx and regards,StephanP.S..: For MS Jet databases I know there _is_ a delay between writing datato the database and being able to read this updated value from anotherconnection,so the question refers to "real" DBMs (esp. SQL Server) only ;)
how can i communicate with other clients over SQL 2005?
I mean, i change data of database from a client, how to make othere clients do some actions acording to the data change .( let other client print some report ect.)
We have a situation where multiple-random client connections to SQL server get disconnected.
The workstations are not consistent, the time is not consistent, and the functions being run are not consistent. One thing that we can reproduce is that sometime, but not always, if a workstation runs a function that calls a specific stored procedure (SQL native client, ADO, SQL Server 2005 SP2), during the course of the parameter validation (after the .execute) SQL sends an ACK, RST followed by two RST TCP packet back to the client and disconnects the connection.
At the same time, several other connections across multiple computers are also dropped by SQL. However, some computers may have multiple connections to SQL and some, but not all of these will be dropped. Other computers will not have their connections dropped at all.
No SQL server errors are logged. Trace flags 4029 and 3689 have been set.
We have the network packet traces and the SQL profiler output to show this.
This is not reproducable at any other site.
Any ideas on what this could be would be greatly appreciated. -- Dana Comolli MS ISV Partner
I've been running SQL Server 2005 for over three months, and have got the database up to speed. Using SSMSE for an interface.
I've have been trying to get the Intranet to link to the database (ASP), but after a little research i found we needed to change the Authentication from 'Windows Authentication' to a mix of windows auth and sql login. Needing to restart the server for the changes to take effect.
After the restart things started to go pear shaped.
Before the restart we were able to run queries from different clients at the same time (4 workstations). Now we are unable to access anything on the database if a query is running on a seperate client. As in table properties, running a query. As i've said, we were able to do this perfectly fine before the restart.
We also use other programs to generate records for the database. These programs now have difficulty connecting to the database. We've gone through the wizards and as far as we are aware things should be working. We have created extra username/logins for these programs so not one computer/client/program uses the same connection login. However, they are unable to connect even after the wizard says there is no problem connecting to the server.
Is there any *restore to factory/default settings* button? We've even tried reverting to Windows Authentication to try and solve the problem, but it didn't work, we're pretty dependant on the database for day to day operations.
I have a couple of client programs continuously dumping data into a SQL 7.0 database. I use ODBC connections that remain open as long as the client programs are running.
The memory consumed by SQL grows until all the system memory is consumed at which point the clients freeze (SQL no longer responds). Restarting SQL Server "cures" the problem for a few hours.
I've tried limiting the amount of memory used by SQL, but this only accelerates the eventual client freeze-up. At the moment, I let SQL dynamically consume memory.
iam under process of upgrading sql7 to sql2000. already i upgraded clients to sql2000. then i got problem with some of our applications to connect to sql7 server. then i replaced in clients new ntwdblib.dll with old one then it works fine. to overcome this problem shall i install MDAC2.6 on server, where sql7 is there.
Is there any problem to SQLserver7.0 with MDAC2.6 ? because i want to install MDAC2.6 on production server with sql7.0.
I am trying to write a query that counts how many clients were part of program at the first of each month.To make it simple, the data comes out of one table which looks like this:
Client # Program Start_date End_date 1 Fruit eater 03-27-2014 01-10-2015 2 Veggi eater 01-16-2015 null 3 Veggi eater 12-05-2013 04-16-2015 4 Fruit eater 10-01-2014 11-30-2014
Currently I have a very ugly solution that I know is not the best one:
Select sum(convert(int,Jan_2014))as Tiers_in_Jan_2014 , sum(convert(int,Feb_2014)) as Tiers_in_Feb_2014 , sum(convert(int,Mar_2014 )) as Tiers_in_Mar_2014 , sum(convert(int,Apr_2014 ))as Tiers_in_Apr_2014
Hey guys!, is there a way to raise an exception through an insert trigger... and that exception will be able to raise on every single application connected to that database at the time? not just the app that actually triggered the insert...
Hi,I am having a hard time setting up an SQL Server 2000 DeveloperEdition instance for remote clients. The instance is running well andI can connect to it on the local computer. When I try connecting fromanother computer using Enterprise Manager with the server's IP as theinstance name, I always get the usual "Specified SQL Server not found"error. I have used Enterprise Manager many times to connect to localand remote servers (which were set up by someone else obviously).I used the client network utility on the client to make an alias forthis server and have it use the TCP/IP library for port 1433.I understand that SQL Server listens on port 1433 for connections. Ihave a firewall on the server and setup 1433 forwarding. But when Iuse Enterprise Manager to try to register the server, the firewalldoesn't even show a connection attempt on port 1433 (it logs allconnection attempts).When I use telnet to port 1433, the firewall logs the attempt butthere is still no connection, as if the server isn't actuallylistening on 1433 at all. I can't seem to find any help on getting theserver listening, as if it supposed to be easy to set up so I don'tknow what I'm missing. I guess I have the following questions:1) Does anything have to be done on the server side to set it up tolisten for remote client connections?2) How do I set the port on which the server listens in case I want tochange from 1433?3) Does anything have to be set up on the client side other than usingthe client network utility?4) Why does Enterprise Manager not seem to even attempt a connectionon port 1433 when I try to register this server?Any help is appreciated.