SQL/CLR DML Error: Invalid Use Of Side-effecting Or Time-dependent Operator
Apr 18, 2008
I am attempting to use a CLR Function to perform an update operation, since a SQL UDF will not allow this within the function. For the POC, I hard-coded the db connection string and setup the assembly to use EXTERNAL_ACCESS. This worked fine and the update operation was running properly via the CLR Function. However, I now want to make the code run in the current db context without plugging in a connection string. So, I've applied "context connection=true" instead of the explicit db string. When I do this, I am receiving the following error:
A .NET Framework error occurred during execution of user defined routine or aggregate
'MyTestCLRUDF':
System.Data.SqlClient.SqlException: Invalid use of side-effecting or time-dependent operator in 'UPDATE' within a function.
System.Data.SqlClient.SqlException:
etc.
I don't understand why simply swapping the connection string would cause this issue. I assume this is somehow related to permissions, and I am missing something. I've tried using each of the three permission levels (external, safe, and unsafe), and no luck.
Any help is appreciated! Here's the code:
public static bool MyTestCLRUDF(Guid myID)
{
string connectionString = "context connection=true";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand("MySprocName", connection);
command.CommandType = CommandType.StoredProcedure;
SqlParameter parameter = new SqlParameter("@ID", myID);
command.Parameters.Add(parameter);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
}
return true;
}
View 6 Replies
ADVERTISEMENT
May 8, 2008
Hi all, mister
I want create a function but I get this error: Error Invalid use of side-effecting or time-dependent operator in 'EXECUTE STRING' within a function
I think in a function, cannot use temp tables, or calling exec or store procedures.
Which is the best solution for my issue ? develop store procedure ??
thanks.
CREATE FUNCTION fnObtenerTablaMaestra ()
RETURNS @T Table ( Descripcion VARCHAR(20) NOT NULL, CIF VARCHAR(8) NULL )
AS
BEGIN
DECLARE @cmd nvarchar(max)
DECLARE @sql nvarchar(max)
DECLARE @nexoUNION NVARCHAR(max)
DECLARE @params nvarchar(max)
DECLARE @NombreTabla VARCHAR(MAX)
DECLARE @Descripcion VARCHAR(MAX)
DECLARE @CIF VARCHAR(MAX)
-- Cannot access temporary tables from within a function.
-- IF EXISTS (SELECT TABLE_NAME FROM tempdb.INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '#tmpTable%')
-- DROP TABLE #tmpTable
-- CREATE TABLE #tmpTable ( Descripcion VARCHAR(20) NOT NULL, CIF VARCHAR(8) NULL )
SET @nexoUNION = NULL
DECLARE c1 CURSOR for
SELECT [CD_NOMBRE_TABLA], [DS_CAMPO_DESCRIPCION], [DS_CAMPO_CIF] FROM [TABLA_MAESTRA]
OPEN c1
FETCH c1 INTO @NombreTabla, @Descripcion, @CIF
--FETCH NEXT FROM c1 INTO @NombreTabla, @Descripcion, @CIF
WHILE @@FETCH_STATUS >= 0
--WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @sql =
'INSERT INTO #tmpTable
N'''+ @NombreTabla + '''
N'''+ @Descripcion + '''
N'''+ @CIF + ''''
SELECT @sql =
'SELECT ' + @Descripcion + ', '+ @CIF + ' FROM ' + @NombreTabla
IF @nexoUNION IS NULL
BEGIN
SET @nexoUNION = 'UNION'
END
ELSE
SET @sql = @nexoUNION + ' ' + @sql
-- EXECUTE (@sql)
--Exec(@sql)
FETCH c1 INTO @NombreTabla, @Descripcion, @CIF
--FETCH NEXT FROM c1 INTO @NombreTabla, @Descripcion, @CIF
END
CLOSE c1
DEALLOCATE c1
--SET @sql = 'SELECT Descripcion, CIF FROM #tmpTable'
-- Error Invalid use of side-effecting or time-dependent operator in 'EXECUTE STRING' within a function
EXECUTE(@sql)
RETURN
END
GO
View 1 Replies
View Related
Nov 9, 2007
this is an error i am getting trying to run the query below.
Invalid operator for data type. Operator equals minus, type equals varchar
SELECT regardingobjectidname, actualend, owneridname, createdbyname, activitytypecodename
FROM (SELECT regardingobjectidname, actualend, Owneridname, createdbyname, activitytypecodename, row_number() OVER (Partition BY
regardingobjectid
ORDER BY actualend DESC) AS recid
FROM FilteredActivityPointer
WHERE statecodename = 'completed') AS d
WHERE recid = 1 AND (owneridname IN (@user)) AND (activitytypecodename = 'phone call' OR
activitytypecodename = 'e-mail' OR
activitytypecodename = 'fax') AND (actualend > dateadd(d, -'
+ CONVERT(nVarChar(20), @NeglectedDays) + ',GetUTCDate()
ORDER BY actualend
Compnetsyslc
View 9 Replies
View Related
Mar 10, 2008
I have a select statement which accepts 2 variable in the "where" condition.
select username from user where variable1 like variable2. But the problem is in the left side of "like" statement if i use fieldname i get the result , but if i use variable name to represent a fieldname then i dont get the result.
Any ideas??
View 6 Replies
View Related
Aug 31, 2006
I have a Windows 2003 Server running IIS 6.0 and SQL Server 2005. I have just (Today) deployed the first ASP.NET application (developed in Visual Studio 2003 and, as such, dependent on .NET Framework 1.1) on this server and am getting HTTP Error 403 (You are not authorized to view this page). This ASP.NET application runs fine on another server that is configured with the OS=Windows Server 2003, IIS=6.0 but without SQL Server 2005 and without the .NET Framework version 2.0. I found in the IIS Application configuration (on the troublesome site) that my app (in the Default Web Site folder) was pointing to the version 2.0 aspnet_isapi.dll. All efforts to use aspnet_regiis to "re-align" my app with version 1.1 have been fruitless to eliminate the HTTP Error 403. I granted the NETWORK SERVICE account privledges to the wwwroot folder. At this point, I don't know if I have a Framework error or a privileges problem.
Please help.
Thanks,
Rob
View 1 Replies
View Related
Oct 4, 2012
I was using Access 2010, now i Upsized it to MS SQL 2012.
I'm getting Run-Time error '94'
---------------------------------------------------------------------
Public Function CalcOrderSubTotal(prmOrderID As Integer, _
Optional CallFromMacro As Boolean = True)
Dim varOrderSubTotal As Integer
Dim db As DAO.Database
Dim rs As Recordset
Dim strSQL As String
[Code] .....
View 2 Replies
View Related
Jun 2, 2004
I get this error when I attempt to read from a datareader using the following sql statement:
Dim mysql As String = "SELECT PayrollTrans.PayrollID, Employees.[EmpFirstName] & ' ' & " _
& " Employees.[emplastname] AS FullName, Employees.[City] & ', ' & Employees.[State] & ' ' & Employees.[zip] AS CityState " _
& " , PayrollTrans.Date, PayrollTrans.EmployeeID, PayrollTrans.RegHours, " _
& " PayrollTrans.OTHours , PayrollTrans.RegPay, PayrollTrans.OTPay, " _
& " PayrollTrans.FedTax, PayrollTrans.FICATax, PayrollTrans.MedicareTax, " _
& " PayrollTrans.ESCTax, PayrollTrans.StateTax, PayrollTrans.ESCEMPTax, " _
& " PayrollTrans.FUTATax, PayrollTrans.NetPay, Employees.EmployeeID, " _
& " Employees.Address1, Employees.Address2, Employees.SSAN, " _
& " Employees.PayType, Employees.RegPayRate, Employees.OTPayRate, " _
& " Employees.MaritalStatus, Employees.FedExemption, Employees.StateExemption, " _
& " Employees.Active, Employees.SelectforPay, Employees.PayDate " _
& " FROM PayrollTrans, Employees where PayrollTrans.EmployeeID = Employees.EmployeeID;"
my reader command list as follows:
Dim objCM As New SqlClient.SqlCommand(mysql, SqlConnection1)
Dim objDR As SqlClient.SqlDataReader
objDR = objCM.ExecuteReader
Any ideas on where I am going wrong?
Thanks in advance
View 3 Replies
View Related
May 18, 2004
I am getting a error message saying: Invalid operator for data type. Operator equals boolean AND, type equals datetime.
I traced the pointer to @gdo and @gd, they are both dates!
INSERT INTO AdminAlerts values (CURRENT_USER, 'UPDATE', getDate(), @biui, 'Updated booking, ID of booking updated: ' & @biui & ', Booking date and time before/after update: ' & @gdo & '/' & @gd & ', Room number before/after update: ' & @rno & '/' & @rn & ' and Customer ID before/after update: ' & @cio & '/' & @ci)
If I cut that two dates out it works fine.
Could someone tell me the syntax to include a date in a string :confused:
View 3 Replies
View Related
Apr 28, 2006
What is wrong with this select statement?
SELECT lastName + ", " + firstName + " " + middleName as Name
FROM [users]
WHERE ([usrID] = 100)
I kept getting this error:
Msg 403, Level 16, State 1, Line 1
Invalid operator for data type. Operator equals add, type equals text.
Help is appreciated.
View 6 Replies
View Related
Apr 28, 2006
What is wrong with this select statement:
SELECT lastName + ", " + firstname + " " + middleName + " " + maidenName as Name
FROM users
WHERE userID = 100;
I kept getting this error:
Msg 403, Level 16, State 1, Line 1
Invalid operator for data type. Operator equals add, type equals text.
Help is appreciated.
View 7 Replies
View Related
Oct 23, 2005
Kudos to y'all experts out there. I kinda needed your help. I'm trying to run a query...
SELECT a.AUF_POS AS Pos, c.ZL_STR AS Panel, a.POS_TEXT AS Description, a.BREITE AS W1, a.HOEHE
AS H1, a.BREITE2 AS W2, a.HOEHE2 AS H2, SUM(b.ANZ) AS Qty, SUM(b.LIEFER_ANZ) AS Dlvd,
SUM(b.RG_ANZ) AS Inv, (a.BREITE*a.HOEHE/CAST(1000000 AS NUMERIC)) AS UnitSQM,
(a.BREITE*a.HOEHE*SUM(b.ANZ)/CAST(1000000 AS NUMERIC)) as TotPosSQM
FROM liorder..LIORDER.AUF_POS a INNER JOIN liorder..LIORDER.AUF_STAT b ON a.AUF_NR = b.AUF_NR
AND a.AUF_POS = b.AUF_POS INNER JOIN liorder..LIORDER.AUF_TEXT c ON a.AUF_NR = c.AUF_NR AND
b.AUF_POS = c.AUF_POS
WHERE (c.ZL_MOD = 0) AND (b.AUF_NR = '86260')
GROUP BY a.AUF_POS, a.POS_TEXT, a.BREITE, a.BREITE2, a.HOEHE, a.HOEHE2, a.SFORM_NR, c.ZL_STR
...and I keep getting this error: Invalid operator for data type. Operator equals multiply, type equals nvarchar. I've tried every possible CAST and CONVERT but I just can't make it work. I'm pretty sure that the data types for the columns I mentioned on the mathematical equation are all numeric. Please help...
View 1 Replies
View Related
Oct 29, 2015
Below doesn't work for varchar column?
select sum(cast(Enter_your_field_name as int)) from Table_name
View 5 Replies
View Related
Jul 23, 2005
Hello All,I am getting the following error when attemping to open a table inSQL2kSP3a.________________________________________SQL Server Enterprise ManagerDatabase Server: Microsoft SQL ServerVersion: 08.00.0760Runtime Error: [Microsoft][ODBC SQL Server Driver]Invalid time format_________________________________________I cannot find it in sysmessages, or on the web.Any ideas about how to resolve this? And how it occured...Thanks,TGru*** Sent via Developersdex http://www.developersdex.com ***Don't just participate in USENET...get rewarded for it!
View 1 Replies
View Related
Jun 13, 2014
I am using the below query for calculation and I get this error.
Operand data type nvarchar is invalid for sum operator.
'$ '+ REVERSE(SUBSTRING(REVERSE(CONVERT(varchar,(CAST(round(isnull(sum(t7.[Pre Override Cost]),0),0) as money) + 1 -
cast(round(isnull(sum(t8.[Shared Dollars]),0),0)as money)),1)),4,255)) as [PreOverride L2],
'$ '+ REVERSE(SUBSTRING(REVERSE(CONVERT(varchar,(CAST(round(isnull(sum(t7.[Post Override Cost]),0),0) as money) -
cast(round(isnull(sum(t8.[Shared Dollars]),0),0)as money)),1)),4,255)) as [PostOverride L2]
View 6 Replies
View Related
Oct 23, 2015
I get this error "Operand data type varchar is invalid for divide operator".
select V.[Parent Name],
[ID],
round((V.SoftValue/VTMValue)*100,0) 'SPercentage',
round((V.HMUValue/VTMValue)*100,0) 'HPercentage2',
round((V.PrimaryValue/VTMValue)*100,0) 'PPercentage2'
[code]...
I have even converted the values to float.
View 5 Replies
View Related
Jan 9, 2007
I am not able to delete a row due to the presence of its parent table. There is no circular relationship and the child has no dependencies when I verify the Delete trigger. Any advice? See error msg below:
Msg 30010, Level 16, State 1, Procedure tD_My_child_table_name, Line 43
Cannot DELETE last My_child_table_name CI because My_parent_table_name exists.
Msg 3609, Level 16, State 1, Line 1
The transaction ended in the trigger. The batch has been aborted.
View 4 Replies
View Related
May 25, 2010
I've been working with Database Mail for some time but I haven't seen this one before. I have a maintenance plan that does the following:
1. Check database integrity
On Success:
2. Perform backups
On Success:
3. Perform a maintenance cleanup
On Success:
4. Notify operator of success
Steps 1 - 3 are also linked (via On Failure arrows) to a singular Notify Operator of Failure task.
The maintenance plan does exactly what I want it to, and if everything goes correctly, it successfully sends an email to an operator.
If steps 1 - 3 fail, the job ends in an error state, but does not trigger the Notify Operator of Failure task.
I was able to recreate the problem by creating another maintenance plan on the same instance with the same steps. Its "Notify Operator" on failure task also doesn't work.
It occurs to me that maybe I'm missing something, so here's some of the details of my SQL server:
SQL 2008 + SP1 (10.0.2531) x64 on Windows 2008 R2
DB Mail profile is public and default
I do have a slightly unusual profile, in that it uses two accounts:
1. A connection to a SharePoint SMTP service (where it catches emails directed at document libraries)
2. A connection to a UNIX-based smtp server (which routes mail to regular mailboxes and my SQL DBA mailing list)
The Profile will attempt to send to the SharePoint server first. The SharePoint server does not relay. If the document library email address doesn't exist, SQL will raise a warning (in the Database Mail log) and the profile will use the second account on the list, which is a real mail server and can relay the message to any mailbox.
It works really well, actually. When the maintenance plan completes successfully, the message is sent to the drop folder on the SharePoint server, and SharePoint routes the email to the correct library, and we have a central archive of all DB Mail notifications.
But if the job fails (for example, if the backup disk is out of space), none of this happens. According to the log, the job doesn't even try to send a notification. Looking at the DBMail log, the Mail service does not start. No email is delivered to the drop folder of the receiving SMTP server. So I don't think my Database Mail configuration is the problem here. It is apparently something to do with the way the job itself handles errors.
View 9 Replies
View Related
Feb 6, 2007
I am trying to migrate from my current system, where I do merge replication from Windows Mobile devices running SQL Server CE 2.0 to a central database running SQL Server 2000 sp3a. I want eventually to move to a system running SQL Server 2005 CE replicating to a SQL Server 2005 back-end. But the transition will need to be gradual, and I may have to support both systems for a while until I can convert all clients from the old system to the new. I also need to do thorough testing.
So ... I'm trying to set up a test environment giving me the maximum possible flexibility to do my testing. Ideally, I'd like to set up SQL Server 2000 and SQL Server 2005 on a side-by-side basis, in a manner that would potentially allow mobile devices running both SQL Server CE 2.0 and SQL Server 2005 CE to sync with either back-end server.
Can someone provide me with guidance as what is possible to set up here? I know that SQL Server 2000 and 2005 can be installed side-by-side on the same server. It also appears that you can set up SQL Server 2000 so that EITHER SQL Server CE 2.0 OR SQL Server 2005 CE can sync with SQL Server 2000 (see www.microsoft.com/sql/editions/sqlmobile/connectivity-tools.mspx), but I don't know if it's possible for BOTH SQL Server CE 2.0 AND SQL Server 2005 CE to sync to the same SQL Server 2000. As for SQL Server 2005 ... it appears to be possible to set up SQL Server 2005 so that BOTH SQL Server CE 2.0 devices AND SQL Server 2005 CE devices can sync to the same SQL Server 2005 (see web page cited above). However, I don't know if it's possible to set up a SQL Server 2005 server installation in this manner while at the same time having a side-by-side SQL Server 2000 installation supporting any level of mobile merge replication.
HELP!!!!
View 7 Replies
View Related
Feb 29, 2008
Hello friends....
my question is as follows:
How do I send the data from the server side to the client side specifically in what format and what kind of connection do I use?
waiting for answers.....
View 5 Replies
View Related
Mar 24, 2014
I'm using SQL Server 2008 R2 BIDS to accomplish this.
View 7 Replies
View Related
Nov 11, 2014
I will soon be embarking on an upgrade of a transaction replicated database (Push) from 2005 to 2012 SP2.The publisher, distributor and subscriber are 3 separate machines.There databases will be detached, MDF and LDF will be copied across. Once attached, replication will be set up from scratch.
The name of the new servers are NOT the same as the existing ones.Should I completely remove transaction replication user the wizard and unticking the DB from being a database for transactional replication or just stop the log reader agent?How can I make sure the last of the transactions have gone across before I detach?Should I detach the subscriber first or the publication? Does it even matter?
Is there a better way of moving across the databases? I for one would have preferred to backup (.bak) then restore on the other side. I'd love to hear opinions on this as well.
View 0 Replies
View Related
Nov 26, 2014
I am working to create a phone list that will contain Last Name, First Name, and Phone Number sorted by last name. For printing purposes I would like to have three columns of data instead of the standard of one column.
Is it possible to create a query to present data in three columns showing the data side by side?
View 9 Replies
View Related
Feb 23, 2008
will this create a separate instance?
Is there anything I need to be aware of?
Thank you.
Greg
View 3 Replies
View Related
Apr 28, 2007
I have downloaded and installed VS C# Express Orcas beta 1. It appears that Express editons ov VS can only connect to SQL2005 Express and not to a high end edition which I have on my computer. In one of the Orcas forums, it was suggested that I can install SQL2005 Express side by side my high end SQL 2005. To play it safe, I wanted to get a confirmation from this forum before I do that. Is a side-by-side installation ok? thanks.
View 3 Replies
View Related
May 19, 2006
Is there anywhere I can compare side by side between 2005 SQL Server and 2005 SQL Server express Edition?
I just found out that the express version does not have the database Copy feature (When you right clink on the database object -> Tasks ) !
I don't know about the evel version since I have not install yet. Any idea ?
View 4 Replies
View Related
Jun 1, 2006
If I download sql server 2005 express edition, will it run side by side with my sql server 2000, or is it a one or the other situation?
smtraber
View 1 Replies
View Related
Apr 8, 2004
Hi,
In Analysis Services there is an option to enforce a role either on the client side or the server side.
Can someone kindly guide what's the recommended approach and what's really the difference between the two options.
Thanks.
View 1 Replies
View Related
Jul 23, 2015
would like to know if it's possible to install SQL Server Failover cluster instance with shared storage along with standalone installation with Always on ( always on uses WSFC underneath).
View 1 Replies
View Related
Dec 11, 2007
Hi people
Here is my case: I've a server running Windows server 2003 edition and SQL2000.
I've installed SQL2005 using the side-by-side method as described by MSFT docs. I've then copied the mdf & ldf files to new locations and attached the db in SQL 2005 management studio. Every thing fine. Next, I've migrated the DTSs using the DTS migration wizard. After this step I have some bad warnings in windows:
When I restart the server I get the following message: "mmc.exe Microsoft Management Console encountered a problem and needed to close".
Furthermore: I can't start the old SQL enterprise manager.
It shows another error "mmc.exe - Entry point Not Found" and closes it self.
The MSFT support page on this error relates it to Windows XP but my system is running Windows server....
Any one has any idea why this is happening?
Any suggested course of action?
Many thanks
ds9
View 3 Replies
View Related
Jan 21, 2008
Hello!
I was wondering if I can install/run SQL 2008 and 2005 side by side with SQL 2005 being default instance. Any issues with that?
Thanks,
Igor
View 2 Replies
View Related
Apr 24, 2015
When I try compare 2 years worth of data side by side. They go in separate grids. I know it is just a usability feature.
i would want see same month data for multiple years side by side.
View 5 Replies
View Related
Jul 15, 2007
having installed 2005 first and installed 2000 with both types of reports going to one 2005 home. i would like to have separate homes
with reports going their respective homes. Do i have to first unstall
2005 and do a new installation with a different report and server than
2000. I would like to avoid this and just fine tune 2000 with the rsconfig.exe. Help me out please.
View 1 Replies
View Related
Jan 9, 2006
Hai
My system is already installed with SQL server 2000 . Is it possible for me to install SQL server 2005 BETA CTP in the same machine and run both side by side.
Regards
View 3 Replies
View Related