Help On Msg 207, Level 16, State 1,- On PROCEDURE Expression IN
May 1, 2008
need help
on expression IN
whan i do this i get an error
Msg 207, Level 16, State 1, Line 17
Invalid column name 't.empID'.
Code Snippet
DECLARE @vempID varchar(500)
set @vempID = '68737477,51622017'
update [nili].[dbo].[tb_pivot_big]
set fld1 = case v.fld1 when '101' then 'a' when '102' then 'd' when '103' then 'u' when '104' then 'j' end
, f1 = case v.fld1 when '101' then 'b' when '102' then 'r' when '103' then 'i' when '104' then 'l' end
, f11 = case v.fld1 when '101' then 'c' when '102' then 't' when '103' then 'd' when '104' then 'm' end
from [nili].[dbo].[tb_pivot_big] t
inner join (select *
from [nili].[dbo].[tb_pivot_big]
where val_orginal = 1) v
on t.empID = v.empID
WHERE (t.val_orginal = 2) AND (charindex(','+CONVERT(varchar,[t.empID])+',',','+@vempID+',')) > 0
I restored a database to my test server from a production server. I ran "sp_change_users_login 'report' " and found 1 orphan id. Then I ran "sp_change_users_login 'auto_fix', 'orphan_id' ". It gets the error. I have run it before with success. Any idea why this time is different?
I have read the various posts regarding the thread abort issue. I have a stored proc (CLR-C#) which makes and ldap call to a novell NDS tree and attempts to pull about 40k+ records which I would then insert into a sql server database.
I have set up all the requrements in terms of clr enabled etc...
I have written my class and I can run the sp when I limit the records returned. However when I go to grab all the records, (which takes some time), the sp craps out with the error message in the title of this post.
The assembly is running under unsafe permissions.
If I run the sp once, it works, then again and I may or may not get an 6522 (memory error). I added the search parameter to break down the records returned (so I return a's then b's etc...) . BTW: This works fine ouside SQL Server, I can run this as an ASP.Net app (I prototyped it with a test harness aspx page).
Basically what the class does is connect to novel nds directorypull records based on search criteria (blank for all)dump records into datatableserialize datatable to xmlcall another sp to take xml and insert into tabledisconnect from treeAny comments/suggestions apreciated.
Thanks,
Stephen
Here is the class (editied to protect privacy):
using System; using System.IO; using System.Text; using System.Collections.Generic; using System.Data; using System.Data.SqlTypes; using System.Data.SqlClient; using Microsoft.SqlServer.Server; using Novell.Directory.Ldap;
namespace EDSPullInSQLStoreProc { public class EDSPROC { [Microsoft.SqlServer.Server.SqlProcedure] public static void EDSPull(bool IsProd, bool IsSecure, string searchParam) { //variable declarations string __LADPHost_DEV = "xx.xx.xx.xx"; string __LADPHost_PROD = "xx.xx.xx.xx"; int __LADPPort_NonSecure = xxx; int __LADPPort_Secure = xxx; int __LDAPPort; string __LDAPUserDN_DEV = "some string"; string __LDAPUserDN_PROD = "somestring"; string __LDAPUserDNPwd_DEV = "apassword"; string __LDAPUserDNPwd_PROD = "apassword"; LdapConnection oLDAPConn; DataTable oDTEDSData = new DataTable("EDSUSER"); string strErrResponseMsg = ""; SqlPipe oSQLPipe = SqlContext.Pipe;
oDTEDSData.Columns.Add("LastName"); ...a bunch more columns
DataRow oRow;
//make the ldap query filling the datatable LdapSearchConstraints oEDSSearchConstriants = new LdapSearchConstraints(); oEDSSearchConstriants.MaxResults = 0;
Hi, I want to create a text file and write to text it by calling its assembly from Stored Procedure. Full Detail is given below
I write a code in class to create a text file and write text in it. 1) I creat a class in Visual Basic.Net 2005, whose code is given below: Imports System Imports System.IO Imports Microsoft.VisualBasic Imports System.Diagnostics Public Class WLog Public Shared Sub LogToTextFile(ByVal LogName As String, ByVal newMessage As String) Dim w As StreamWriter = File.AppendText(LogName) LogIt(newMessage, w) w.Close() End Sub Public Shared Sub LogIt(ByVal logMessage As String, ByVal wr As StreamWriter) wr.Write(ControlChars.CrLf & "Log Entry:") wr.WriteLine("(0) {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString()) wr.WriteLine(" :") wr.WriteLine(" :{0}", logMessage) wr.WriteLine("---------------------------") wr.Flush() End Sub Public Shared Sub LotToEventLog(ByVal errorMessage As String) Dim log As System.Diagnostics.EventLog = New System.Diagnostics.EventLog log.Source = "My Application" log.WriteEntry(errorMessage) End Sub End Class
2) Make & register its assembly, in SQL Server 2005. 3)Create Stored Procedure as given below:
CREATE PROCEDURE dbo.SP_LogTextFile ( @LogName nvarchar(255), @NewMessage nvarchar(255) ) AS EXTERNAL NAME [asmLog].[WriteLog.WLog].[LogToTextFile]
4) When i execute this stored procedure as Execute SP_LogTextFile 'C:Test.txt','Message1'
5) Then i got the following error Msg 6522, Level 16, State 1, Procedure SP_LogTextFile, Line 0 A .NET Framework error occurred during execution of user defined routine or aggregate 'SP_LogTextFile': System.UnauthorizedAccessException: Access to the path 'C:Test.txt' is denied. System.UnauthorizedAccessException: at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, ileOptions options) at System.IO.StreamWriter.CreateFile(String path, Boolean append) at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize) at System.IO.StreamWriter..ctor(String path, Boolean append) at System.IO.File.AppendText(String path) at WriteLog.WLog.LogToTextFile(String LogName, String newMessage)
Server: Msg 229, Level 14, State 5, Procedure sp_monitor, Line 167 EXECUTE permission denied on object 'sp_monitor', database 'master', owner 'dbo'.
How do I fix this? which roles, or permission is that? Is there a easier way to find out solutions for these problems, as books online does not seem to provide much help.
Running NT 4 Svc Pack 4, SQL Server 6.5 Svc Pack 5a. I have an sp to build indexes and it is no longer running...after a couple moments I get the error(s) "Msg 1509, Lvl20, State 2, Row Compare Error". The "State" is 2 on most of the messages and 1 on 1...I get 5 messages at once. I looked through the support information at Microsoft's site and found 1 article on this but...it was for 6.0, it stated that it was fixed in Svc Pack 3, and provided a workaround of increasing the "sort pages" value in the SQL configuration. I was unable to find the "sort pages" option so I am assuming it is no longer available. I then installed the SQL Svc Pack 5a but still no resolution. At this point I have no indexes on my tables and can't find a way to rebuild them. Any help would be appreciated...The only thing I can think of is that I installed the NT svc pack last week and this might have caused it...the indexes sp runs over the weekend so I did not notice this until this morning.
Hi,I am getting the following error from the query below against SQLServer 8.00.2039 (SP4)Error:====Server: Msg 107, Level 16, State 2, Line 1The column prefix 'd' does not match with a table name or alias nameused in the query.Select Statement:=============select ....from trades a,gems_product_groups b,portfolio_nav_mapping c,products d,limit_types eleft outer join gems_prod_trade_mod f on d.product_id =f.product_IDI know this was a known bug in MS-SQL7, but I thought it had been fixedin 2000.Can anyone help?Thanks
I am writing a user defined function but I am receiving an error message that I can figure out. Any answers out there?
Msg 102, Level 15, State 1, Procedure ufn_GetStreetNumber, Line 25 Incorrect syntax near '@StreetNum'.
-- --------------------------------------------------------------------------------- SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Description: Parses out the Street number for Address field -- ============================================= CREATE FUNCTION dbo.ufn_GetStreetNumber ( -- Add the parameters for the function here @StreetAddr varchar(50) ) RETURNS int AS BEGIN -- Declare the return variable here DECLARE @StreetNum varchar(50); DECLARE @iIter smallint, @iNoOfChars smallint, @iStreetNo int;
SET @StreetNum=NULL; SET @iStreetNo=0; SET @iNoOfChars=1; SET @iIter=1;
-- Add the T-SQL statements to compute the return value here WHILE Isnumeric(Substring(@StreetAddr,@iNoOfChars,@iIter))=1 @StreetNum=@StreetNum + Substring(@StreetAddr,@iNoOfChars,@iIter) @iIter=@iIter+1 BREAK @iStreetNo=@StreetNum
-- Return the result of the function RETURN @iStreetNo
IN THE SQL SERVER 2000 AND IN ALSO IN 2005 WHEN GOING FOR THE LOGGING IN TO THE SQL SERVER USING A PUBLIC IP, AND GIVING THE SQL SERVER AUTENTICATION IT IS GIVING THE FOLLOWING ERROR
Server: Msg 11, Level 16, State 1[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]General network error. Check your network documentation.
THE SAME ISSUE HAPPENING WITH THE ODBC CONNECTION. CAN ANYONE EXPLAIN ME WITH THE FOLLOWING ERROR
DO NOT GIVE A SUGGESTION OF REINSTALLATION, BECAUSE TRIED THAT ONE TOO
Simple SQL Error Can anyone help for a new starter. Error MessageServer: Msg 209, Level 16, State 1, Line 6 Ambiguous column name 'CustomerID'.Codeselect CustomerID, ContactName, OrderId from CustomersInner Join Orders OnCustomers.CustomerID = Orders.CustomerIDDBMS = SQL Server 2000 SP 3aDatabase = NorthwindI have no idea why i receive this error
Hi, I would appreciate your help. I donot know why I am getting this error when I run this query : if (select SUBSTRING(de_ftpdownload,1,CHARINDEX('.',de_ftpdow nload,0)-1)as de_ftpdownload from vendor_invoice) <> (select stamp_number from vendor_invoice) select 'no' else select 'yes'
I get this Error Server: Msg 536, Level 16, State 3, Line 1 Invalid length parameter passed to the substring function. ---- yes (1 row(s) affected) I would appreciate your hlep
Can anybody help me with this syntax? select PHN.N_PHN_ID 'ID', PHN.N_PHN_AREACD 'AREAD1', PHN.N_PHN_PREFIX 'PREFIXD1', PHN.N_PHN_NUMBER 'NBRD1', PHN.N_PHN_EXTENTN 'EXTD1', PHN2.N_PHN_AREACD 'AREAD2', PHN2.N_PHN_PREFIX 'PREFIXD2', PHN2.N_PHN_NUMBER 'NBRD2', PHN2.N_PHN_EXTENTN 'EXTD2' from Donor_Visit2 DV2 RIGHT OUTER JOIN NAT_PHN_DB_REC PHN ON DV2.COUNT_INSTID = PHN.N_PHN_INSTID RIGHT OUTER JOIN NAT_PHN_DB_REC PHN2 ON DV2.COUNT_ID = PHN2.PHN.N_PHN_ID order by PHN.N_PHN_ID
here is the error message: Server: Msg 107, Level 16, State 2, Line 1 The column prefix 'PHN2.PHN' does not match with a table name or alias name used in the query.
This table was created by coldfusion and has been given all priviliges to public and I am in the public group but I still cant select from it. It gives me this error message: Server: Msg 208, Level 16, State 1, Line 1. Help!
I'm getting this error in SQL server. Msg 8101, Level 16, State 1, Line 68 An explicit value for the identity column in table 'temp_notes' can only be specified when a column list is used and IDENTITY_INSERT is ON.
My original script looked like this.
SET NOCOUNT ON
DECLARE @patient_id int ,@phn varchar(9) ,@full_name varchar(100) ,@birth_date datetime ,@entry_note varchar(8000) ,@entry_date datetime ,@rec_counter int ,@Clinic_identifier varchar(24) ,@chart_count int
set @Clinic_identifier = 'MEDOWL.' set @rec_counter = 0
DECLARE patients_cursor CURSOR FOR SELECT a.full_name, a.birth_date, a.phn, a.patient_id FROM patient as a ,clinicdoctors as b WHERE a.patient_id IN (51450,49741,57290) --= 51450 and datalength(a.phn) = 9 and b.clinicdoctor_id = a.clinicdoctor_id ORDER BY a.last_name,a.first_name,a.patient_id
OPEN patients_cursor FETCH NEXT FROM patients_cursor INTO @full_name, @birth_date, @phn, @patient_id
DECLARE chartcount_cursor CURSOR FOR select count(*) from ChartEntries where patient_id = @patient_id
OPEN chartcount_cursor FETCH NEXT FROM chartcount_cursor INTO @chart_count
--select @chart_count as chtcount
DECLARE chartentries_cursor CURSOR FOR select entry_datetime,entry_note from ChartEntries where patient_id = @patient_id order by Patient_id, ChartEntry_Id desc
-- Variable value from the outer cursor
OPEN chartentries_cursor FETCH NEXT FROM chartentries_cursor INTO @entry_date,@entry_note --select @entry_date,@entry_note
WHILE @@FETCH_STATUS = 0
BEGIN set @rec_counter = @rec_counter + 1 --select @@FETCH_STATUS as status IF @@FETCH_STATUS = 0
-- Get the next chart record count --FETCH NEXT FROM chartcount_cursor INTO @chart_count --select @chart_count as chtcount
END
CLOSE patients_cursor DEALLOCATE patients_cursor
GO
I then changed it to left pad the variables @rec_counter and @chart_count. SET NOCOUNT ON
DECLARE @patient_id int ,@phn varchar(9) ,@full_name varchar(100) ,@birth_date datetime ,@entry_note varchar(8000) ,@entry_date datetime ,@rec_counter int ,@Clinic_identifier varchar(24) ,@chart_count int
set @Clinic_identifier = 'MEDOWL.' set @rec_counter = 0
DECLARE patients_cursor CURSOR FOR SELECT a.full_name, a.birth_date, a.phn, a.patient_id FROM patient as a ,clinicdoctors as b WHERE a.patient_id IN (51450,49741,57290) --= 51450 and datalength(a.phn) = 9 and b.clinicdoctor_id = a.clinicdoctor_id ORDER BY a.last_name,a.first_name,a.patient_id
OPEN patients_cursor FETCH NEXT FROM patients_cursor INTO @full_name, @birth_date, @phn, @patient_id
DECLARE chartcount_cursor CURSOR FOR select count(*) from ChartEntries where patient_id = @patient_id
OPEN chartcount_cursor FETCH NEXT FROM chartcount_cursor INTO @chart_count
--select @chart_count as chtcount
DECLARE chartentries_cursor CURSOR FOR select entry_datetime,entry_note from ChartEntries where patient_id = @patient_id order by Patient_id, ChartEntry_Id desc
-- Variable value from the outer cursor
OPEN chartentries_cursor FETCH NEXT FROM chartentries_cursor INTO @entry_date,@entry_note --select @entry_date,@entry_note
WHILE @@FETCH_STATUS = 0
BEGIN set @rec_counter = @rec_counter + 1 --select @@FETCH_STATUS as status IF @@FETCH_STATUS = 0
-- Get the next chart record count --FETCH NEXT FROM chartcount_cursor INTO @chart_count --select @chart_count as chtcount
END
CLOSE patients_cursor DEALLOCATE patients_cursor
GO
That is when I received the error, so I inserted this command before the insert line but it made no difference.
SET IDENTITY_INSERT temp_notes ON insert into temp_notes values (@Clinic_identifier+@phn+'.' +REPLICATE('0',3),convert(varchar,@rec_counter)+'. ' +REPLICATE('0',3),convert(varchar,@chart_count), @phn, @full_name, @birth_date, @entry_date, @entry_note )
I'm concatenating four different variables together to insert into the column note_id.
What is the problem? I just don't see it. My table definition looks like this. CREATE TABLE [dbo].[temp_notes]( [temp_Id] [int] IDENTITY(1,1) NOT NULL, [note_Id] [varchar](24) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [phn] [char](9) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL, [full_name] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [birth_date] [datetime] NULL, [entry_datetime] [datetime] NULL, [Entry_Note] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL, CONSTRAINT [PK_temp_notes] PRIMARY KEY CLUSTERED ( [temp_Id] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Msg 4305, Level 16, State 1, Line 1 The log in this backup set begins at LSN 8229000000047200001, which is too recent to apply to the database. An earlier log backup that includes LSN 8219000000021400001 can be restored
And what would the fix be?
I am trying to restore from a Full Backup and then the log files on a development machine.
SELECT @Query = 'IF EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N''[dbo].[DEL_' + UPPER(@Table_Name) + ']'')) DROP TRIGGER [dbo].[DEL_' + UPPER(@Table_Name) + ']' EXEC(@Query)
SELECT @Table_Desc = (SELECT a.value FROM sys.extended_properties a, sys.tables b WHERE a.major_id = b.object_id AND a.minor_id = 0 AND a.name = 'MS_DESCRIPTION' AND b.name = @Table_Name)
SELECT @Query = '''CREATE TRIGGER [DEL_' + UPPER(@Table_Name) + '] ON dbo.' + @Table_Name + ' FOR DELETE AS
EXEC(''''IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''''''''[dbo].[Temp_PrimKey]'''''''') AND type in (N''''''''U'''''''')) DROP TABLE [dbo].[Temp_PrimKey]'''')
SELECT K.COLUMN_NAME INTO Temp_PrimKey FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS T INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE K ON T.CONSTRAINT_NAME = K.CONSTRAINT_NAME WHERE T.CONSTRAINT_TYPE = ''''PRIMARY KEY'''' AND T.TABLE_NAME = ''''' + @Table_Name + '''''
EXEC(''''IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''''''''[dbo].[Temp_Value]'''''''') AND type in (N''''''''U'''''''')) DROP TABLE [dbo].[Temp_Value]'''')
EXEC(''''CREATE TABLE [dbo].[Temp_Value]( [PValue] [VARCHAR](max) NOT NULL ) ON [PRIMARY]'''')
EXEC(''''IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''''''''[dbo].[Temp_Deleted]'''''''') AND type in (N''''''''U'''''''')) DROP TABLE [dbo].[Temp_Deleted]'''')
SELECT * INTO Temp_Deleted FROM deleted
DECLARE Curs_PrimKey CURSOR FOR SELECT * FROM Temp_PrimKey
OPEN Curs_PrimKey FETCH NEXT FROM Curs_PrimKey INTO @P_Key WHILE @@FETCH_STATUS = 0 BEGIN EXEC(''''INSERT INTO Temp_Value SELECT ''''+ @P_Key + '''' FROM Temp_Deleted'''') SELECT @P_Key_Value = (SELECT PValue FROM Temp_Value) EXEC(''''DELETE FROM Temp_Value'''') SELECT @P_Key_Insert = @P_Key_Insert + @P_Key + '''' = '''' + @P_Key_Value + '''', '''' FETCH NEXT FROM Curs_PrimKey INTO @P_Key END CLOSE Curs_PrimKey DEALLOCATE Curs_PrimKey
EXEC(''''IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''''''''[dbo].[Temp_Deleted]'''''''') AND type in (N''''''''U'''''''')) DROP TABLE [dbo].[Temp_Deleted]'''')
EXEC(''''IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''''''''[dbo].[Temp_Value]'''''''') AND type in (N''''''''U'''''''')) DROP TABLE [dbo].[Temp_Value]'''')
INSERT INTO TLOG(Log_Date, Log_Reference, Log_Comment) VALUES (GETDATE(), @P_Key_Insert, @Comment) ''' --PRINT @Query EXEC(@Query) Problem is when I run it gives error:
Msg 102, Level 15, State 1, Line 1Incorrect syntax near 'CREATE TRIGGER [DEL_EMPLOYEE] ON dbo.Employee FOR DELETEAS DECLARE @Old_Value VARCHAR(8000)DECLARE @New_Value VARCHA'.
If I print the @Query and run it in a query analyzer using the statement EXEC it worked. It's giving me headache, this supposed to be a simple exec statement. Please advise. Thanks.
I am facing a very strange problem in one of my SQL2000 instance.
Actually, In one of my 2000 instance 'A', I have linked another 2000 instance 'B' (server 'B' is running under windows authentication) and I am a member of a group (SQL_Group) and that group is listed in sysadmin of both 'A' and 'B' Instances. When I am trying to run a simple select query from server 'A' to linked server 'B'
i.e. select top 2 * from [<Server_Name> <Instance_ Name>].master. dbo.sysobjects
It is giving me an error.
Server: Msg 18452, Level 14, State 1, Line 1 Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection.
But rest of the members of same group (SQL_Group) are able to execute this query. Can anyone please let me know why this issue is only for me even I am having the same permissions as others??
Any help will be highly appreciated. thanks a lot to all of you.
If we run the query below with the values of 'rml' and 'ra' it runs but if we use 'cca' and 'cc' we get this error:
Server: Msg 1101, Level 17, State 10, Line 8 Could not allocate new page for database 'TEMPDB'. There are no more pages available in filegroup DEFAULT. Space can be created by dropping objects, adding additional files, or allowing file growth.
from tblAsset, tblAsset_Book, tblCounty_Names, CER..tblLocation, tblGL_Account where tblAsset_Book.Level_1 = @Level_1 and tblAsset.Level_1 = tblAsset_Book.Level_1 and tblAsset_Book.Level_2 = @Level_2 and tblAsset.Level_2 = tblAsset_Book.Level_2 and tblGL_Account.Company = tblAsset.Level_2 and CER..tblLocation.SBU = tblGL_Account.Company and tblCounty_Names.County = tblAsset.County and CER..tblLocation.County = tblCounty_Names.County and CER..tblLocation.Code = tblAsset.Plant and tblGL_Account.Account = tblAsset.Account and tblAsset_Book.Book_Number = '1' order by tblAsset.State
Server:Msg 1105,Level 17,State 2,Line9 Coule not allocate space to the object 'Tutorial' on 'Mytest1db' in database because the 'PRIMARY' file group is full.
When I run a query to insert records into a table....i'm getting this error.Please Help....
Server: Msg 2537, Level 16, State 43, Line 1 Table error: Object ID 1376776012, index ID 0, page (1:56868), row 2. Record check (Valid SqlVariant) failed. Values are 7 and 0. Server: Msg 2537, Level 16, State 1, Line 1 ... so on
hi we have a link server....andthe user credentials are not being trasfered to link server.....anythoughts??we get the following error messageServer message 18542 level 16 state 1--Posted using the http://www.dbforumz.com interface, at author's requestArticles individually checked for conformance to usenet standardsTopic URL: http://www.dbforumz.com/error-messa...pict266240.htmlVisit Topic URL to contact author (reg. req'd). Report abuse: http://www.dbforumz.com/eform.php?p=915273
Dear (and mighty) all:I backed up a database (SQL server 7.0) and tried to restore it onanother system (SQL Server 2000). This is not the first time I'm doingthis and never had a problem before:-- in the source dbBACKUP db_icoaraci TO DISK = 'C:TEMPBACKUP-ICOARACI.DAT'--in the destination dbRESTORE db_icoaraci FROM DISK='E:TEMPBACKUP-ICOARACI.DAT'WITH MOVE='ICOARACI_DAT' TO 'E:DBICOARACI.MDF',MOVE='ICOARACI_LOG' TO 'E:DBICOARACI.LDF'Today, to my surprise, the destination SQL returned the followingerror:Processed 25592 pages for database 'db_icoaraci', file 'ICOARACI_DAT'on file 1.Processed 1 pages for database 'db_icoaraci', file 'ICOARACI_LOG' onfile 1.Server: Msg 1105, Level 17, State 2, Line 1Could not allocate space for object '(SYSTEM table id: 6)' in database'db_icoaraci' because the 'PRIMARY' filegroup is full.Server: Msg 3013, Level 16, State 1, Line 1RESTORE DATABASE is terminating abnormally.I searched the list and a found a few posts refering to the same error,but none in the exactly same scenario.I tried to restore the database with NORECOVERY, and, before restoringthe log, increase its size (ALTER DATABASE ... etc), but SQL Serversays that the DB couldn't be open because it's in the middle of arestore...I'll appreciate any help.Regards,Branco.
I am experiencing some frustration in regards to parsing an email that I need to work with. (I don't have control over the format of the email I am receiving)
Any help would be appreciated. Thank you Jake
Here is the error I get, when I use the SQL Query Analyzer to process my Stored Procedure. (Not every email gets this error, just some, others process just fine.)
String or binary data would be truncated. The statement has been terminated. Stored Procedure: eResponse.dbo.spParser Return Code = -6
My Code is as follows:
CREATE PROCEDURE spParser @_id nvarchar(50) AS --assumes the email is no longer than 4000 characters. if it might be longer, bump this number up. -- Common Varriables DECLARE @body nvarchar(4000) DECLARE @i int DECLARE @phone nvarchar(50) DECLARE @phonestart int DECLARE @phoneend int DECLARE @email nvarchar(50) DECLARE @emailstart int DECLARE @emailend int DECLARE @comments nvarchar(3000) DECLARE @commentsstart int DECLARE @commentsend int DECLARE @OrigID varchar(50) -- Jose Ole Variables DECLARE @firstname nvarchar(50) DECLARE @firstnamestart int DECLARE @firstnameend int DECLARE @lastname nvarchar(50) DECLARE @lastnamestart int DECLARE @lastnameend int DECLARE @address1 nvarchar(50) DECLARE @address1start int DECLARE @address1end int DECLARE @address2 nvarchar(50) DECLARE @address2start int DECLARE @address2end int DECLARE @city nvarchar(50) DECLARE @citystart int DECLARE @cityend int DECLARE @state nvarchar(5) DECLARE @statestart int DECLARE @stateend int DECLARE @zip nvarchar(15) DECLARE @zipstart int DECLARE @zipend int DECLARE @country nvarchar(50) DECLARE @countrystart int DECLARE @countryend int DECLARE @phone2 nvarchar(50) DECLARE @phone2start int DECLARE @phone2end int DECLARE @productname nvarchar(50) DECLARE @productnamestart int DECLARE @productnameend int DECLARE @upccode nvarchar(50) DECLARE @upccodestart int DECLARE @upccodeend int DECLARE @datecode nvarchar(50) DECLARE @datecodestart int DECLARE @datecodeend int DECLARE @purchaseat nvarchar(50) DECLARE @purchaseatstart int DECLARE @purchaseatend int DECLARE @purchasecity nvarchar(50) DECLARE @purchasecitystart int DECLARE @purchasecityend int DECLARE @datepurchased nvarchar(50) DECLARE @datepurchasedstart int DECLARE @datepurchasedend int DECLARE @dateopened nvarchar(50) DECLARE @dateopenedstart int DECLARE @dateopenedend int DECLARE @subject nvarchar(50) DECLARE @subjectstart int DECLARE @subjectend int -- Windosr Variables DECLARE @name nvarchar(50) DECLARE @namestart int DECLARE @nameend int DECLARE @company nvarchar(50) DECLARE @companystart int DECLARE @companyend int
--First replace all ASCII carriage returns and line feeds and assign the whole chunk of data to a variable. SET @body = (select replace( REPLACE(convert(varchar(4000), message),CHAR(10),' '),CHAR(13),'') from message where mailid = @_id) --below is the sample syntax for the individual replacements of line feeds and carriage returns, but it's combined into one statement above. --SELECT REPLACE(@jb,CHAR(10),'') as firstpass --SELECT REPLACE(@jb,CHAR(13),'') as secondpass IF left(@body,47) = 'Fromubject:contact info sent from samplesite.com' --If this is true.. then it is a sample company. BEGIN --The 12 in the start is compensating for the 12 Characters of "First Name: " --Below is collecting First Name SET @firstnamestart = (CHARINDEX('First name:',@body) + 11) SET @firstnameend = (CHARINDEX('Last name:',@body) - 1) SET @firstname = SUBSTRING(@body,@firstnamestart,@firstnameend-@firstnamestart) ----Below is collecting Last Name SET @lastnamestart = (CHARINDEX('Last name:',@body) + 10) SET @lastnameend = (CHARINDEX('Address 1:',@body) - 1) SET @lastname = SUBSTRING(@body,@lastnamestart,@lastnameend-@lastnamestart) --Below is collecting Address1 SET @address1start = (CHARINDEX('Address 1:',@body) + 10) SET @address1end = (CHARINDEX('Address 2:',@body) - 1) SET @address1 = SUBSTRING(@body,@address1start,@address1end-@address1start) --Below is collecting Address2 SET @address2start = (CHARINDEX('Address 2:',@body) + 10) SET @address2end = (CHARINDEX('City:',@body) - 1) SET @address2 = SUBSTRING(@body,@address2start,@address2end-@address2start) --Below is collecting city information SET @citystart = (CHARINDEX('City:',@body) + 5) SET @cityend = (CHARINDEX('State/Prov',@body) -1) SET @city = SUBSTRING(@body,@citystart,@cityend-@citystart) --Below is collecting state information SET @statestart = (CHARINDEX('State/Province:',@body) + 15) SET @stateend = (CHARINDEX('Zip/Postal',@body) -1) SET @state = SUBSTRING(@body,@statestart,@stateend-@statestart) --Below is collecting zip information SET @zipstart = (CHARINDEX('Zip/Postal Code:',@body) + 16) SET @zipend = (CHARINDEX('Country',@body) -1) SET @zip = SUBSTRING(@body,@zipstart,@zipend-@zipstart) --Below is collecting country information SET @countrystart = (CHARINDEX('Country:',@body) + 8) SET @countryend = (CHARINDEX('E-mail address',@body) -1) SET @country = SUBSTRING(@body,@countrystart,@countryend-@countrystart) --Below is collecting email information SET @emailstart = (CHARINDEX('E-mail address:',@body) + 15) SET @emailend = (CHARINDEX('Daytime',@body) -1) SET @email = SUBSTRING(@body,@emailstart,@emailend-@emailstart) --Below is collecting phone information SET @phonestart = (CHARINDEX('Daytime Phone:',@body) + 14) SET @phoneend = (CHARINDEX('Evening Phone:',@body) -1) SET @phone = SUBSTRING(@body,@phonestart,@phoneend-@phonestart) --Below is collecting phone2 information SET @phone2start = (CHARINDEX('Evening Phone:',@body) + 14) SET @phone2end = (CHARINDEX('Product Name',@body) -1) SET @phone2 = SUBSTRING(@body,@phone2start,@phone2end-@phone2start) --Below is collecting Product Name information SET @productnamestart = (CHARINDEX('Product Name:',@body) + 12) SET @productnameend = (CHARINDEX('UPC Code:',@body) -1) SET @productname = SUBSTRING(@body,@productnamestart,@productnameend-@productnamestart) --Below is collecting UPC Code information SET @upccodestart = (CHARINDEX('UPC Code:',@body) + 9) SET @upccodeend = (CHARINDEX('Date Code:',@body) -1) SET @upccode = SUBSTRING(@body,@upccodestart,@upccodeend-@upccodestart) --Below is collecting Date Code information SET @datecodestart = (CHARINDEX('Date Code:',@body) + 10) SET @datecodeend = (CHARINDEX('Purchased At',@body) -1) SET @datecode = SUBSTRING(@body,@datecodestart,@datecodeend-@datecodestart) --Below is collecting Purchase At information SET @purchaseatstart = (CHARINDEX('Purchased At',@body) + 26) SET @purchaseatend = (CHARINDEX('Purchase City:',@body) -1) SET @purchaseat = SUBSTRING(@body,@purchaseatstart,@purchaseatend-@purchaseatstart) --Below is collecting Purchase City information SET @purchasecitystart = (CHARINDEX('Purchase City:',@body) + 14) SET @purchasecityend = (CHARINDEX('Date Purchased',@body) -1) SET @purchasecity = SUBSTRING(@body,@purchasecitystart,@purchasecityend-@purchasecitystart) --Below is collecting Date Purchased information SET @datepurchasedstart = (CHARINDEX('Date Purchased:',@body) + 15) SET @datepurchasedend = (CHARINDEX('Date Opened',@body) -1) SET @datepurchased = SUBSTRING(@body,@datepurchasedstart,@datepurchasedend-@datepurchasedstart) --Below is collecting Date Opened information SET @dateopenedstart = (CHARINDEX('Date Opened:',@body) + 12) SET @dateopenedend = (CHARINDEX('E-mail Subject:',@body) -1) SET @dateopened = SUBSTRING(@body,@dateopenedstart,@dateopenedend-@dateopenedstart) --Below is collecting Email Subject information SET @subjectstart = (CHARINDEX('E-mail Subject:',@body) + 15) SET @subjectend = (CHARINDEX('Comments:',@body) -1) SET @subject = SUBSTRING(@body,@subjectstart,@subjectend-@subjectstart) --Below is collecting message information SET @commentsstart = (CHARINDEX('Comments:',@body) + 10) SET @commentsend = len(@body) SET @comments = SUBSTRING(@body,@commentsstart,@commentsend-@commentsstart) --below is the part that actually writes the data out to the Output table INSERT INTO OutputEmails (FirstName, LastName, Address1, Address2, City, State, Zip, Country, eMail, Phone, Phone2, ProductName, UPCCode, DateCode, PurchaseAt, PurchaseCity, DatePurchased, DateOpened, Subject, Comments, OrigID) SELECT ltrim(SUBSTRING(@body,@firstnamestart,@firstnameend-@firstnamestart)) as FirstName, ltrim(SUBSTRING(@body,@lastnamestart,@lastnameend-@lastnamestart)) as LastName, ltrim(SUBSTRING(@body,@address1start,@address1end-@address1start)) as Address1, ltrim(SUBSTRING(@body,@address2start,@address2end-@address2start)) as Address2, ltrim(SUBSTRING(@body,@citystart,@cityend-@citystart)) as City, ltrim(SUBSTRING(@body,@statestart,@stateend-@statestart)) as State, ltrim(SUBSTRING(@body,@zipstart,@zipend-@zipstart)) as Zip, ltrim(SUBSTRING(@body,@countrystart,@countryend-@countrystart)) as Country, ltrim(SUBSTRING(@body,@emailstart,@emailend-@emailstart)) as eMail, ltrim(SUBSTRING(@body,@phonestart,@phoneend-@phonestart)) as Phone, ltrim(SUBSTRING(@body,@phone2start,@phone2end-@phone2start)) as Phone2, ltrim(SUBSTRING(@body,@productnamestart,@productnameend-@productnamestart)) as ProductName, ltrim(SUBSTRING(@body,@upccodestart,@upccodeend-@upccodestart)) as UPCCode, ltrim(SUBSTRING(@body,@datecodestart,@datecodeend-@datecodestart)) as DateCode, ltrim(SUBSTRING(@body,@purchaseatstart,@purchaseatend-@purchaseatstart)) as PurchaseAt, ltrim(SUBSTRING(@body,@purchasecitystart,@purchasecityend-@purchasecitystart)) as PurchaseCity, ltrim(SUBSTRING(@body,@datepurchasedstart,@datepurchasedend-@datepurchasedstart)) as DatePurchased, ltrim(SUBSTRING(@body,@dateopenedstart,@dateopenedend-@dateopenedstart)) as DateOpened, ltrim(SUBSTRING(@body,@subjectstart,@subjectend-@subjectstart)) as Subject, ltrim(SUBSTRING(@body,@commentsstart,@commentsend-@commentsstart)) as Comments, @_id as OrigID FROM dbo.message WHERE (mailId = @_id) END ELSE BEGIN --below prints the whole value in the debugger (SQL Query Analyzer) --print @body --below prints the length of the whole value --print len(@body) --below prints the location of 'Callers Name:' --Print CHARINDEX('Name: ',@body) --Below is collecting the Name information --The 6 in the start is compensating for the 6 Characters of "Name: " SET @namestart = (CHARINDEX('Name:',@body) + 5) SET @nameend = (CHARINDEX('Email:',@body) - 1) SET @name = SUBSTRING(@body,@namestart,@nameend-@namestart) --Below is collecting email information SET @emailstart = (CHARINDEX('Email:',@body) + 6) SET @emailend = (CHARINDEX('Title:',@body) -1) SET @email = SUBSTRING(@body,@emailstart,@emailend-@emailstart) --Below is collecting Company information SET @companystart = (CHARINDEX('Company:',@body) + 8) SET @companyend = (CHARINDEX('Phone Number:',@body) -1) SET @company = SUBSTRING(@body,@companystart,@companyend-@companystart) --Below is collecting phone information SET @phonestart = (CHARINDEX('Phone Number:',@body) + 13) SET @phoneend = (CHARINDEX('Comments:',@body) -1) SET @phone = SUBSTRING(@body,@phonestart,@phoneend-@phonestart) --Below is collecting message information SET @commentsstart = (CHARINDEX('Comments:',@body) + 9) SET @commentsend = len(@body) SET @comments = SUBSTRING(@body,@commentsstart,@commentsend-@commentsstart) --below is the part that actually writes the data out to the Output table INSERT INTO OutputEmails (Name, eMail, Company, Phone, Comments, OrigID) SELECT ltrim(SUBSTRING(@body,@namestart,@nameend-@namestart)) as Name, ltrim(SUBSTRING(@body,@emailstart,@emailend-@emailstart)) as eMail, ltrim(SUBSTRING(@body,@companystart,@companyend-@companystart)) as Company, ltrim(SUBSTRING(@body,@phonestart,@phoneend-@phonestart)) as Phone, ltrim(SUBSTRING(@body,@commentsstart,@commentsend-@commentsstart)) as Comments, @_id as OrigID FROM dbo.message WHERE (mailId = @_id) END --At the very end when you're satisfied that the data has been processed properly, delete the appropriate message record from the message table DELETE FROM MESSAGE Where message.mailID = @_ID GO
Sample Data that has problems
Fromubject:contact info sent from samplesite.comBody:First name: Sample Last name: Name Address 1: 123 Testing Road Address 2: Don't filled City: Park Forest State/Province: FL Zip/Postal Code: 12345-1234 Country: USA E-mail address: validemail@email.com Daytime Phone: 123-123-1234 Evening Phone: Don't filled Product Name: Sample Product with Cheese UPC Code: 12345-89521 Date Code: 1251237 D PST . 5290 Purchased At (Store Name): StoreName Purchase City: Store City Date Purchased: 12/8/2007 Date Opened: 12/14/2007 E-mail Subject: nail in product Comments: when I purchased your product, there was something in it. Obviously I am not happy about this. Please contact me. Thank you John Q Public
Msg 6260, Level 16, State 1, Line 1 An error occurred while getting new row from user defined Table Valued Function : System.InvalidOperationException: Invalid attempt to FieldCount when reader is closed. System.InvalidOperationException: at System.Data.SqlClient.SqlDataReaderSmi.get_FieldCount() at System.Data.Common.DbEnumerator.BuildSchemaInfo() at System.Data.Common.DbEnumerator.MoveNext()
Here is my code:
using System; using System.Data; using System.Data.Common; using System.Data.SqlTypes; using System.Data.SqlClient; using Microsoft.SqlServer.Server; using System.Collections;
public static class UserDefinedFunctions { [Microsoft.SqlServer.Server.SqlFunction(FillRowMethodName = "rowfiller",DataAccess=DataAccessKind.Read,TableDefinition = "ActID int, ActName nvarchar(50), ActCreatorID int,ActDesp nvarchar(200),ActCreateDate datetime,ActModifyDate datetime, ActStartDate datetime, ActEndDate datetime, Status int, Cost int")] public static IEnumerable Func_GetSchCatActivityIDTable(int CatActivityID) { using (SqlConnection connection = new SqlConnection("context connection=true")) { string sqlstring = "select * from Activity where CatActivityID=@CatActivityID;";
connection.Open(); SqlCommand command = new SqlCommand(sqlstring, connection); command.Parameters.AddWithValue("@CatActivityID", CatActivityID);
} } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft Performance","CA1811:AvoidUncalledPrivateCode")] public static void rowfiller(Object obj, out SqlInt32 ActID, out SqlString ActName, out SqlInt32 ActCreatorID, out SqlString ActDesp, out SqlDateTime ActCreateDate, out SqlDateTime ActModifyDate, out SqlDateTime ActStartDate, out SqlDateTime ActEndDate, out SqlInt32 Status, out SqlInt32 Cost, ) {
SqlDataRecord row = (SqlDataRecord)obj; int column = 0;
ActID = (row.IsDBNull(column)) ? SqlInt32.Null : new SqlInt32(row.GetInt32(column)); column++; ActName = (row.IsDBNull(column)) ? SqlString.Null : new SqlString(row.GetString(column)); column++; ActCreatorID = (row.IsDBNull(column)) ? SqlInt32.Null : new SqlInt32(row.GetInt32(column)); column++; ActDesp = (row.IsDBNull(column)) ? SqlString.Null : new SqlString(row.GetString(column)); column++; ActCreateDate = (row.IsDBNull(column)) ? SqlDateTime.Null : new SqlDateTime(row.GetDateTime(column)); column++; ActModifyDate = (row.IsDBNull(column)) ? SqlDateTime.Null : new SqlDateTime(row.GetDateTime(column)); column++; ActStartDate = (row.IsDBNull(column)) ? SqlDateTime.Null : new SqlDateTime(row.GetDateTime(column)); column++; ActEndDate = (row.IsDBNull(column)) ? SqlDateTime.Null : new SqlDateTime(row.GetDateTime(column)); column++; Status = (row.IsDBNull(column)) ? SqlInt32.Null : new SqlInt32(row.GetInt32(column)); column++; Cost = (row.IsDBNull(column)) ? SqlInt32.Null : new SqlInt32(row.GetInt32(column)); column++; }
};
Can anyone tell me what I am doing wrong? Many thanks
Last night I setup my MOSS 2007 server and SQL 2005, I got everything working fine in short order.
I had forgotten to look for updates for SQL 2005 so i decided I would run Windows Update.
SQL Server 2005 Critical Update for SQL Server 2005 Service Pack 2 (KB 934458)
Tuesday, March 04, 2008 Microsoft Update
SQL Server 2005 Microsoft SQL Server 2005 Service Pack 2 (KB 921896)
Those two updates were applied, then after a reboot I began getting the login failed error.
I can login using windows authentication as DOMAINAdministrator, I can also login as SA, but i am trying to figure out why it is denying me logins as DOMAINSharepoint
Has anybody had prior experience with this or know what the deal is?
On a Reporting Services 2005 report, I have a table with a single group row and a single detail row (and about 5 columns). The details are set up to toggle visibility based on a textbox in the group header called "txt_Order_Number". The order line item details are set with their initial visibility set as hidden. So, when you click on the Plus sign next to the Order Number, the detail rows display below.
However, what I'd like to do is change the background color of the toggled group header row when it is toggled and the details are displayed. Here's what's going on . . .
The row with the Order header information has every textbox set in bold. That's good. It makes a subtle distinction between the order detail rows and the order header row, so when you're looking at the dollar amounts on each line item and trying to add them up in your head to see whether they correctly add up to the dollar amount in the order header row, you can at least more easily see the total amount. However, it makes the whole overall report look funny because all of the order header information is in bold. What I really want to do is change the background color of the order header row to light gray or some other subtle color and change the font to Bold when the details are toggled to visible in order to distinguish that row as the header row.
In order to do this, I think I somehow need to get to a certain element of the Reporting Services object model called "Textbox.ToggleState". If I can get to that piece of the puzzle in an expression or even in code within the report, that should tell me the state of the textbox's toggle switch and I should be able to use that information to conditionally set the color of the textbox.(or every textbox in the row probably.) Here's all I could find out about this on TechNet
I just can't figure out how to get to that piece of information in a Reporting Services expression or in the report's code block.
Any suggestions? I'd appreciate a response even if it's "You can't do that." Actually, the best response someone might be able to provide might be a link to a sample showing how to get to any of the textbox properties like that.
I'm getting a specific error when i try to run a .sql script for a Custom TableProfile from the Asp.net site,when i Parse the .sql file Commands execute perfectly. But when i actually "Execute" the .sql script i get the following errors::
Msg 15151, Level 16, State 1, Line 5
Cannot find the user 'WYATT-PCWyattASPNET', because it does not exist or you do not have permission.