Import Data From Textfile Evry 2 Hours Automtically
Feb 23, 2001
Hello,
Can somebody please help me with the following problem.
I want to import data from a textfile called "Links.txt" into a SQL-server database called "LinkData". The data in this textfile is separated by pipelines. And this import should be done every 2 hours automatically. How can I make a proces or something in SQL server 7 that will fill the database with the data out of this textfile every 2 hours. Please help me. I really don't know.
I want to import data from a textfile called "Links.txt" into a SQL-server database called "LinkData". The data in this textfile is separated by pipelines. And this import should be done every 2 hours automatically. How can I make a proces or something in SQL server 7 that will fill the database with the data out of this textfile every 2 hours. Please help me. I really don't know.
I was planning on using DTS for this Only I really don't know how. I tried it with "Data driven query task" in combination with "Text file (source)" and "Microsoft OLE DB Provider for SQL Server". But when I run it, it gives an error. What am i doing wrong??? Help me please
I have a report that's created each day as a flat textfile.Because I came from the Access world, I created a macro that importsit with a schema that gives meaningful names to the various columns,and then uses a query to massage some of the data for me (deletes thefirst blank row and does a couple of calculations)Then I use DTS to import the Access query as a table.the textfile has a column called "File_num", and among several others,a column called "Serial_num". (the file numbers represent shipments,and sometimes there are more than one serial number in the shipment,etc., so there is a separate line for every serial number)Naturally, I would like to split this info into two tables..one thatdoes not contain the serial numbers and has a primary key on the"File_num" column, and another table that would contain just the"File_num" and "Serial_num" columns. That way I could relate themlater...but most importantly, it will give me a table where I can usethe "File_num" as my primary key.What would be the best way to import these two tables from one sourcetextfile? The other thing that gives me problems is that the textfile has no column names, and the first row is always blank.I'm very new to SQL and DTS and would appreciate any direction.Thanks,Larry- - - - - - - - - - - - - - - - - -"Forget it, Jake. It's Chinatown."
I ask for your help for problem of SQL Server 7 DTS . I got 6 text data files extracted from a SQL server database Sale1 in Company A. I also got a script produced from Sale1 and run it in my company to build a SQL server database A_Sale which structure is the same as Sale1. Then, I transferred these files into my database A_Sale. I have successfully transferred three files (vlet, vlrl, and vlcv), without any trouble. But I met trouble for transferring other three files (vlcl, vlco, and vlpo). For example, the error messages are as: "Error during Transformation 'DirectCopyXform' for Row number1. …Conversion invalid for datatype on column pair 12 (source column 'Col012'(DBTYPE_STR), destination column 'cl_dob' (DBTYPE_14))." "Error during Transformation 'DirectCopyXform' for Row number 10825. …Conversion invalid for datatype on column pair 17 (source column 'Col017'(DBTYPE_STR), destination column 'c0_stchdt" (DBTYPE_14))." - I don't understand why the datatype is not matched? The datatype is 'int' in both source column and destination column and the data for the source column is like 2533222. And, why the error caused for Row 1 for file vlcl and for Row 10825 for file vlco? How to correct the error? Other errors I met like: "Error at Source for Row number 24391. …Column Delimiter not found." - I don't know how to avoid the error at source? My partner in companyA also cannot control to avoid the error, since the file extracted by SQL server. "Error at Destination for Row number 531377. …Could not allocate space for object '(SYSTEM table id:-269896619)' in database 'TEMPDB' because the 'DEFAULT' filegroup is full." - Why the error caused for row 531377 and how to correct it?
DataBase i am using is Sql Server6.5. In a trigger i had written code to transfer updated records from one table to other table.These updated records needs to be written into a text file. I had used xp_cmdshell but it is taking time.Is there a way to write data to flat file.
i have bulk data that i dont want to have to enter manually. How can i achieve this for sql server. I want to be able to load from a text file (or any text format) with my data separated by delimeters. I know oracle has something that does this called sql loader.
I have an existing table I need to add data to. The data is in a text file, and the existing table already has data in it (I don't want to delete this I want to add to it).
I used Microsoft's import utility but this created a seperate table with generic fieldnames (column01, column02, ect). Is there a step in this wizard I missed?
I have data coming from a telephony system that keeps track of when anemployee makes a phone call to conduct a survey and which project numberis being billed for the time the employee spends on that phone call in aMS SQL Server 2000 database (which I don't own).The data is being returned to me in a view (see DDL for w_HR_Call_Logbelow). I link to this view in MS access through ODBC to create alinked table. I have my own view in Access that converts the integernumbers for start and end date to Date/Time and inserts some otherinformation i need.This data is eventually going to be compared with data from someelectronic timesheets for purposes of comparing entered hours vs hoursactually spent on the telephone, and the people that will be viewing thedata need the total time on the telephone as wall as that total brokendown by day/evening and weekend. Getting weekend durations is easyenough (see SQL for qryTelephonyData below), but I was wondering ifanyone knew of efficient set-based methods for doing a day/eveningbreakdown of some duration given a start date and end date (with theday/evening boundary being 17:59:59)? My impression is that to do thiscorrectly (i.e., handle employees working in different time zones,adjusting for DST, and figuring out what the boundary is for switchingfrom evening back to day) will require procedural code (probably inVisual Basic or VBA).However, if there are set-based algorithms that can accomplish it inSQL, I'd like to explore those, as well. Can anyone give any pointers?Thanks.--DDL for view in MS SQL 2000 database:CREATE VIEW dbo.w_HR_Call_LogASSELECT TOP 100 PERCENT dbo.TRCUsers.WinsID, dbo.users.username ASInitials, dbo.billing.startdate, dbo.billing.startdate +dbo.billing.duration AS EndDate,dbo.billing.duration, dbo.projects.name ASPrjName, dbo.w_GetCallTrackProject6ID(dbo.projects.descript ion) AS ProjID6,dbo.w_GetCallTrackProject10ID(dbo.projects.descrip tion) AS ProjID10,dbo.billing.interactionidFROM dbo.projects INNER JOINdbo.projectsphone INNER JOINdbo.users INNER JOINdbo.TRCUsers ON dbo.users.userid =dbo.TRCUsers.UserID INNER JOINdbo.billing ON dbo.users.userid =dbo.billing.userid ON dbo.projectsphone.projectid =dbo.billing.projectid ONdbo.projects.projectid = dbo.projectsphone.projectidWHERE (dbo.billing.userid 0)ORDER BY dbo.billing.startdateI don't have acess to the tables, but the fields in the view comethrough as the following data types:WinsID - varchar(10)Initials - varchar(30)startdate - long integer (seconds since 1970-01-01 00:00:00)enddate - long integer (seconds since 1970-01-01 00:00:00)duration - long integer (enddate - startdate)ProjID10 - varchar(15)interactionid - varchar(255) (the identifier for this phone call)MS Access SQL statement for qryTelephonyData (based on the view,w_HR_Call_Log):SELECT dbo_w_HR_Call_Log.WinsID, dbo_w_HR_Call_Log.ProjID10,FORMAT(CDATE(DATEADD('s',startdate-(5*60*60),'01-01-197000:00:00')),"yyyy-mm-dd") AS HoursDate,CDATE(DATEADD('s',startdate-(5*60*60),'01-01-1970 00:00:00')) ASStartDT,CDATE(DATEADD('s',enddate-(5*60*60),'01-01-1970 00:00:00')) AS EndDT,DatePart('w',[StartDT]) AS StartDTDayOfWeek, Duration,IIf(StartDTDayOfWeek=1 Or StartDTDayOfWeek=7,Duration,0) ASWeekendSeconds,FROM dbo_w_HR_Call_LogWHERE WinsID<>'0'
help how to ? 7 conditions for evry day check for all month
a condition "code block" for evry day in the week like CASE inside CASE and How to insert it to #Temp table all
Code Block CREATE PROC YourProc @StartDate datetime = NULL, @EndDate datetime = NULL AS SET @StartDate = COALESCE(@StartDate,DATEADD(d,DATEDIFF(d,0,GETDATE()),0))--defaulting to todays date if not supplied SET @EndDate=COALESCE(@EndDate,DATEADD(m,1,@StartDate))--defaults to 1 month from today
WHILE @StartDate <= @EndDate BEGIN SELECT CASE WHEN DATENAME( dw,@StartDate)='Sunday'
---- for Sunday----for Sunday------------for Sunday----for Sunday------v_un
WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =45 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =51 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =11 ) THEN 2 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =12) THEN 2 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =22 ) THEN 3 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =23) THEN 3 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =34) THEN 5 ------------------------END for Sunday----for Sunday SELECT CASE WHEN DATENAME( dw,@StartDate)='monday' ---- for monday----for monday------------for monday----for monday----FROM v_1 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =45 ) THEN 1 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =51 ) THEN 1 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =11 ) THEN 2 WHEN DATENAME( dw,@StartDate)='Monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =12) THEN 2 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =22 ) THEN 3 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =23) THEN 3 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =34) THEN 5 --------------------------END for monday SELECT CASE WHEN DATENAME( dw,@StartDate)='Tuesday'
---- for Tuesdayy----for Tuesday----for Tuesday----for Tuesday----from V_2
WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =45 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =51 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =11 ) THEN 2 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =12) THEN 2 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =22 ) THEN 3 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =23) THEN 3 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =34) THEN 5 ................................................END for Tuesday ///////// until Saturday ..... WHEN DATENAME( dw,@StartDate)='Saturday' AND ... THEN .. END SET @StartDate=DATEADD(d,1,@StartDate) END GO
What is the best data type to use when tracking hours, for example; 2.30 < this is stored in DB (two hours and thirty minutes) 5.15 < this is stored in DB (5 hours and fifteen minutes)
I need to create a report that shows daily events per hours, like this:
15.5. Example 00:00 8 01:00 9 02:00 34
Is this possible? The data should be filtered by the datetime. If the datetime is for example 15.5.2008 00:45, it goes to the first row of that example table I created.
I have a table which contains data regarding calls to the Help Desk, I want to chart this using a simple line chart in SSRS 2005 with the chart displaying the number of cases opened by the help desk each hour for the last 24 hours. Although our Help Desk provides 24/7 support, there are periods of an hour in which no calls are received. The issue I'm having is I want the chart to still display these hour periods of time even though there are no records created in the time span. I want the x-axis to display every hour for the last 24 hours.
Anyone have any suggestion on how I can accomplish this? The only idea I've come up with is creating a new table containing a list of every hour in a day and referencing this to build the x-axis...but it seems as though it should be easier than that?
A view named "Viw_Labour_Cost_By_Service_Order_No" has been created and can be run successfully on the server. I want to import the data which draws from the view to a table using SQL Server Import and Export Wizard. However, when I run the wizard on the server, it gives me the following error message and stop on the step Setting Source Connection
Operation stopped...
- Initializing Data Flow Task (Success)
- Initializing Connections (Success)
- Setting SQL Command (Success) - Setting Source Connection (Error) Messages Error 0xc020801c: Source - Viw_Labour_Cost_By_Service_Order_No [1]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "SourceConnectionOLEDB" failed with error code 0xC0014019. There may be error messages posted before this with more information on why the AcquireConnection method call failed. (SQL Server Import and Export Wizard)
Exception from HRESULT: 0xC020801C (Microsoft.SqlServer.DTSPipelineWrap)
- Setting Destination Connection (Stopped)
- Validating (Stopped)
- Prepare for Execute (Stopped)
- Pre-execute (Stopped)
- Executing (Stopped)
- Copying to [NAV_CSG].[dbo].[Report_Labour_Cost_By_Service_Order_No] (Stopped)
- Post-execute (Stopped)
Does anyone encounter this problem before and know what is happening?
I am attempting to import data from Microsoft Access databases to SQL Server 2000 using the DTS Import/Export Wizard. I have a few errors.
Error at Destination for Row number 1. Errors encountered so far in this task: 1. Insert error column 152 ('ViewMentalTime', DBTYPE_DBTIMESTAMP), status 6: Data overflow. Insert error column 150 ('VRptTime', DBTYPE_DBTIMESTAMP), status 6: Data overflow. Insert error column 147 ('ViewAppTime', DBTYPE_DBTIMESTAMP), status 6: Data overflow. Insert error column 144 ('VPreTime', DBTYPE_DBTIMESTAMP), status 6: Data overflow. Insert error column 15 ('Time', DBTYPE_DBTIMESTAMP), status 6: Data overflow. Invalid character value for cast specification. Invalid character value for cast specification. Invalid character value for cast specification. Invalid character value for cast specification. Invalid character value for cast specification.
Could you please look into this and guide me Thanks in advance venkatesh imtesh@gmail.com
Hello friends what is the right datatype to store the hours and minutes part in the database? i found some info which says we have to convert the duration(hrs and min) into minutes and then store is it the right approach? Regards Sara
I have two nvarchar fields with time data 12:34:34 and the second one 12:34 I want to calculate the difference in Hours. The first field is called (OTIM) the second field is called (ReportedTime) if the name matters. I tried substring to trim the OTIM, I am unable to make it work.
I am not sure how to implement the following, but I believe it entails using DTS, and hopefully it is fine that I post it here b/c ultimately I will need this backend data for my frontend .aspx pages:
On a weekly basis, I need to IMPORT some data located on a remote Oracle DB into SQL Server 2k. Since there is so much data to transfer, I would only like to transfer the data that is new to the table since the last IMPORT, i.e. a week ago and leave behin the OLD data.
Is DTS the correct way to go or do I have more control via DTS with STORED PROCEDURES? Does anyone have any good references for me?
On a similar note, once this Oracle data is IMPORTED into a certain table, I would like to EXPORT some of these NEWLY acquired rows matching certain criteria into another table for auditing purposes. For this scenario, should I implement a TRIGGER UPDATE event here on the first table?
In an effort to automate a process, I am trying to populate a csv textfile with data from a SQL Server 2000 database that will be imported by a proprietary database; however, not all of the data required to go into the textfile is available in the source db. Fortunately, the data I'm needing has constant values for the fields that I want to populate, i.e Lab Name. Whereas, the Destination database will receive data from other labs but not via this source. Is it possible to use a constant rather than a db field within the SQL query to populate one of the textfile fields. (I placed "LABNAME" in where I would like it to go) A portion of my present SQL statement is: Select LEFT([SAMPNAME], 4) AS IUNUM, RIGHT(LEFT([SAMPNAME], 8), 3) AS SITENUM, convert(varchar,[SAMPDATE], 112) as SAMPDATE, [BDL] AS "SAMPNUM", [ANALYTE], (CASE [STARTDATE]-[SAMPDATE] WHEN 0 THEN '2' ELSE '1' END) AS METHOD, convert(varchar,[STARTDATE], 112) as STARTDATE, [FINAL], [BDL], "LABNAME", [NOTES1], [SAMPLER], [ORDNO], [UNITS] From [CUSTOMER] As you can see, I have already done a lot of formatting within the statement but would appreciate someone's SQL expertise to tell me if using a constant is possible or not. Thanks, Al
how do i do in ssis if i want to read the textfile row by row? i need to do this since every line in my flat file has different conditions to fulfill depending on the content of the row.
Hello, I'm having the following situation. To exchange data between software-programs we have to use textfiles. These files are like: "2100880000095500400600000329000 00000329000 WNOW0121102B 1121". I have to cut the textfiles into lines of 256 characters. Next thing i have to do is cutting that line in chunks (by a defined structure) and use these chunks to insert them into colums in SQL Server. Example, the line above will become something like: "INSERT INTO table (21, 008800000955, '004006', etc, etc) ". The code now is: i've opened a connection, and then I'm doing an INSERT per row, but when i have to insert 800.000 rows like this, it's a real bottleneck. Is there any way to perform the INSERTS quicker ?? By a bulk or something ?? Can anyone help me ??
I was wondering if there is a way to schedule a tast that will dump afixed width text file of all the new entries in a table. So if I hada table with likeusername - varchar(20)created - smalldatetimeI could get a weekly feed each week of all the new users in a textfile. I know I could write a script that would go through and do thisby looking at the time stamp, and the last time that the filepreviously ran and get the new dates but I was hoping there was abuilt way to do this. Or perhaps a more elegant solution.Thanks,Charlie
Hi, I wish to export a MS SQL table into a text file. I know that I can do this under the DTS wizard but I need the syntax so as to run in on my script. Can anyone help? Thanks!
when i run this it says "The command(s) completed successfully." but i don't see that file anywhere at all. why is that? is this the right way to do? please help.
On a 64bit Itanium cluster, I'm having a problem dynamically setting the ConnectionString of a TextFile Source using the "EvaluateAsExpression" = True and setting the ConnectionString using an expression from a variable. I get the error message:
-1073647612,0x,The result of the expression "@[User::vFullFilePath]" on property "ConnectionString" cannot be written to the property. The expression was evaluated, but cannot be set on the property.
This is not a problem at all on a 32bit machine. I can run the same package on 32bit and it runs fine.
The funny thing is, I'm able to dynamically change the ConnectionString of a Logfile that we're writing all of the errors to, which I believe is using a TextFile Destination connection under the covers somehow (I'm using the SSIS Logging, to a textfile).
Hello there guyz!ahm, i just want to ask, how can i upload a MS word text file to a SQL Dbase? I know i must use the Input File, the one in the Toolbox menu for HTML controls. but i need to know 1. How can i link the SQL dbase to the Input file Button? 2. How to put the MS word file onto the SQL dbase? 3. what should i use to declare the MS Word file on the SQL Dbase? is it variable? char? etc... THank you so much! Please i Really need this one to put up my thesis system. and if it isn't much of a task, please can anyone send me the SOURCE CODES for my questions?