Replicate Ntext Text Image In Transaction Replication
May 16, 2007
Hi!
i have a problem with my replication.
I have two SQL 2005 SP2 Server and want to use the transaction replication with updateable subscriber. Now the problem is that i can do any changes on the master server. But if i want to change a record on the subscriber which contains a ntext, text, oder image column - then i geht the error that the field will be NULL on the master.
Is there any solution to fix this problem? I dont wan`t to change the datatype vom ntext to varchar(max) !!
SQL ERROR - I need DISTINCT but can use it with image,ntext, text - How To work around??? ! more - How to Work around - MIN() I cant use it when having text in SELECT statement The text, ntext, or image data type cannot be selected as DISTINCT.
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: The text, ntext, or image data type cannot be selected as DISTINCT.
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.
I do not understand the error message but I do know it is associated with a specific table and one of its indexes. If I try to drop the index that is the error message I get.
I have copied the data from the table to a new table and rebuilt the indexes on the new table and everything is working fine.
The bad table is now renamed to myTable_BAD. I now want to delete it but can't as everytime I enter drop table myTable_BAD
I get Page (1:404399), slot 5 for text, ntext, or image node does not exist.
Hi, I have a table with ntext and image datatype. I did BCP out succesfully but when I try to to BCP in, I am getting error. ---------- Starting copy... SQLState = 22005, NativeError = 0 Error = [Microsoft][ODBC SQL Server Driver]Invalid character value for cast specification SQLState = 22005, NativeError = 0 Error = [Microsoft][ODBC SQL Server Driver]Invalid character value for cast specification SQLState = 22005, NativeError = 0 ------------------ I read somewhere that I can use BULK INSERT with a format file. Can someone suggest how to BCP in siccesfully or How does the format file looks like for this kind of task?. I am using SQL Server 2000. --------- Here is my table structure.. ----------- CREATE TABLE [dbo].[NOTIFY_TEMPLATE] ( [ID] [numeric](28, 0) NOT NULL , [SENDER] [varchar] (128) NOT NULL , [SUBJECT] [varchar] (512) NOT NULL , [BODY] [ntext] NOT NULL , [PRIORITY] [numeric](28, 0) NULL DEFAULT (2), [ENABLED] [numeric](28, 0) NULL DEFAULT (1), [LANGID] [numeric](28, 0) NOT NULL DEFAULT (0), [NOTIFY_TYPE] [numeric](28, 0) NULL DEFAULT (0), [REQUEST_TYPE] [numeric](28, 0) NULL , [CUSTOMIZED] [numeric](28, 0) NOT NULL DEFAULT (0) ) ON [DATA1] TEXTIMAGE_ON [DATA1]
Hi,I have a problem to insert(update) a long text (more than 64K) intoSQL 2000 (datatype - 'text'). It cuts the data and insert only 64K.MSDN says: "When the ntext, text, and image data values get larger,however, they must be handled on a block-by-block basis. BothTransact-SQL and the database APIs contain functions that allow applications towork with ntext, text, and image data block by block." Could somebodygive me an example how to do this, please.Thank you
I'm trying to set up snapshot replication between two SQL Server 2000 databases over the internet. Both servers run Windows 2000 server edition and SQL server 2000. The idea is to send certain local information, stored in database tables to a database from which the information is published on a website.
I've set up the distribution database (with the original name: distribution) and connected a publisher to it (let's call that one "source_database") using the sp_adddistpublisher stored procedure. No problems there... Next step, I added a publication, the tables in source_database, and a subscriber, the website database. I've opened up port 1433 on both servers, but still it won't send anything from the source_database to the website database....
It gives no errors, but just doesn't do anything... Now, I've looked for possible problems and I think these problems might be able to cause problems: - The initial snapshot is not reaching the subscriber - I've made a push subscription which may has to become a pull subscription - The RPC's aren't available, because both servers are highly secured - The wrong serverpack is installed (this one is a wild guess)
Does anybody have any idea on how I can get my distribution working or solve any of the problems above, cause I'm running out of idea's.... (P.S. I'm a bit of a noobie to replication, I've set it up in a test environment before and it just worked perfectly, but the real thing isn't)
what am trying to do is adding an instead of trigger on update which concatenates the old value in the text column with the new value
so the problem is how i can concatenate both values since i cant declare a variable of type text.
A solution may be dividing the text column into many varchar(8000) variables and then add them but i dont know how it can be implemented or if there's an easier solution
the code am trying:
CREATE TRIGGER InsteadTrigger on tbl INSTEAD OF Update AS BEGIN
if exists(select null from deleted) begin --am considering updating only 1 row update tbl set theValue=((select theValue from deleted)+(select theValue from inserted)) end
i tried the writetext and updatetext functions and the problem is always related to both columns concatenation
I've just gotten my data into SQL Server, and changed the connection stringon the program.There was a memo field (Access 2000) and we put that in a text field (with adefault length of 16?).Now, when displaying the data online (through asp pages), there are bigwhite-space gaps in the pages (that display the memo field data), imageshave a "double" url(http://www.mysite.com/thisfolder/ht...thelinksite.com)there are lots of place with " ".The field data has html tags in it, if that has anything to do with it.It seems like I've heard that there are issues with text fields. Is thiswhat they meant? Is there anything I can do?Thanks, JA
I am having two NT/SQL Server 6.5 and i tried to replicate the database on SQL Server from One Server to another Server. When i try to replicate from Server A[Publisher] to Server B[Subscriber] it is giving error on Distribution History Log on Manage Scheduled Task Dialog. The Error is like this : 08001 [ODBC SQL Server Driver] [dbnmpntw] ConnectionOpen (Createfile()).
and it is trying again and again by using retry option.
Kindly guide me by mentioning the reason for this error.
We have a two SQL Server 2005 databases set up using Transactional Replication. My manager has asked me to set it up to replicate constraints (default, fk, et) on the tables in the main publication. I said sure, I can do it, but I will have to re-initialize the subscription. He said there was a way to do it without re-initializing the subscription. I cannot find anything in my research to indicate that there is a method to do so (via call sp_ functions, etc). Is it indeed possible to replicate constraints on replicated tables without re-initializing the who subscription? The reason he does not want me to perform a re-initialization is that we are a few weeks before moving into production, and a full re-initialization takes 1.5 days, which would impact system availability.
I have some issue when replicating a view (transactional replication).I have following objects on publisher:
Table: [Metadataschema].[Entity] View: [dbo].[EntityLogicalView] the view definition is:
create view [dbo].[EntityLogicalView] as (SELECT * FROM [Entity] WHERE OverwriteTime = 0)
this is what I get when I run "Script View as Create". The same query is used by the replication.Unfortunately this query fails on the subscriber "Unable to replicate a view or function because the referenced objects or columns are not present on the Subscriber". I cannot even runt his query manually on the subscriber, it only works when I change it like this:create view [dbo].[EntityLogicalView] as (SELECT * FROM [Metadataschema].[Entity] WHERE OverwriteTime = 0) Is there any way to get this working? Can I change the creation scripts used by the replication or force publisher to include schema names in all objects?
I'm trying to replicate client data from multiple databases into a single table. So database A, B and C replicate client data to a table in database Z. There is a settings table on A, B and C that holds the businessID and I use a function in a computed column to add this to the client table. At the moment I have just database A and Z as a test and what happens is the computed column gets replicated as a computed column with the formula.
Can I change this so that I can replicate the computed value (at db A,B,C) of this column?
I don't really want to add a businessID to the table if possible as I'm going to need to add a number of other tables to this replication which will each need to have the businessID, a computed column would be much easier and save updating a load of scripts.
If the above is not possible is there some other solution available so I can identify which database the records came from in the table on database Z?
My organization have a web-based application and needs it to support multilingual so we will be adapting our app to use unicode. However, one of our problems is to convert existing data from text to ntext. I couldn't find anything that document this. What is the best way to do that? I would like to be able to migrate the data from an existing text column to another ntext column in the table.
If I can't do that, what are the options? If it's possible, I would like to be able to do this in sql script.
Can some one please explain how the storage of a huge text or ntext object ( say a string of characters 100 KB in size ) is carried out please?
With a data page maximum size of 8000 bytes, how does SQL handle the storage of such an string - it would obviously obverlap multiple rows etc. Does the application writing it to the database have to split the object over multiple rows and manually keep track of which bit is in which row so it can be re-created later in correct sequence by adding the bits back together, or is it done some how differently?
My Stored Proc runs through a loop and concats the contents of each field into one big nvarchar. Procedure works fine on a smaller scale but now it is being implemented on a very large table and the results of the sequel overflow the nvarchar limits. I looked into using text and ntext but both cannot be declared locally. Does anyone know how I can work aroudn this limitation?
Summary:The problem is that the temporary variable I am using (nvarchar) is too small to contain the robust size that the SQL is concating into it. The final field it winds up in is a text field and will be able to handle the amount of data, its just getting the data there is the issue..... Your thoughts please....
Hi there! I've read through several of these forums and am impressed by the talent out there. I'm hoping someone could share some insight on a little complication I've got.
I have a sproc that essentially is pulling all mail items from a profile, reading them in and storing them in a table. It is all working fine MINUS the fact that I cannot pass the message because it won't allow me to pass text or ntext.
If anyone has any ideas I would truly appreciate it. In the meantime I'll be searching through the forum looking for a way to make it happen. Thx, Camey
declare @post_id int declare@topic_id int declare@forum_id int declare@poster_id int declare@post_time int declare@poster_ip int declare@post_username char(25) declare@enable_bbcode smallint declare@enable_html smallint declare@enable_smilies smallint declare@enable_sig smallint declare@post_edit_time int declare@post_edit_count smallint declare@bbcode_uid char(10) declare@post_subject char(60) declare@post_text text
Set @msg_id = NULL while (1=1) begin exec master..xp_findnextmsg @msg_id = @msg_id output if @msg_id is null break
I have a table column type as nText, however there are some Chinese character stored in that field and it is a messed up as it is not readable.
In my vb.net code, I did Convert to unicode by getting the byte of each character and encode it with UTF8 e.g:
Public Shared Function ConvertToUnicode(ByVal s As String) As String
' Convert To Unicode
Dim MyBytes As Byte() = Encoding.Default.GetBytes(s)
Dim GBencoding As Encoding = System.Text.UTF8Encoding.UTF8
Return GBencoding.GetString(MyBytes)
End Function
This works well but ,the problem is that it slows down the process quite alot, and I wonder are there any text encoding method I can use in SQL that can run when i do the SELECT Statement?
SELECT Convert(MyNTEXTColumn) .... something like that?
there are several remote locations where sql is running, my company has asked me to find a way to collect all the data from the remote locations to a central location automatically,for example day to day data should be synced at night time from 2am to 7 am and it should be compressed automatically before data transfers to the central location. NOTE there is no domain only standalone workstations
We need to replicate multiple databases (publications) to one central subscriber. The schema of those articles are identical in all publications and also the primary keys in publications do not have any overlap.
Is this possible?If yes is there any specific thing that I should consider for it's implementation? Should each publication has it's own dedicated distributor or all of them can share one distributor?
i have created asp.net page, one feild of this page text area. when i insert some text through this page in "text feild" of SQL server on few words of this feild cut and inserted to text feild of SQL server but all text that i have written in text area feild.
can u please help me how to handle so that i can all text in text feild of SQL server data type text/next.
Is it possible to replicate data from 3 publishers to a single/central subscriber transactionally? In other words I have Server A, Server B, Server C with databases A,B,C respectively. I need to replicate 2 articles from A,2 from B and 2 from C to a central Server D that hosts database D. D will have only 6 articles. The replication is Transactional Replication.
If it is possible what will be the drawbacks of such implementation? (if one server goes down will the whole replication break?) If not possible then what is the best way of implementing this?
I have to run a dynamic sql that i save in the database as a TEXT data type(due to a large size of the sql.) from a .NET app. Now i have to run this sql from the stored proc that returns the results back to .net app. I am running this dynamic sql with sp_executesql like this.. EXEC sp_executesql @Statement,N'@param1 varchar(3),@param2 varchar(1)',@param1,@param2,GO As i can't declare text,ntext etc variables in T-Sql(stored proc), so i am using this method in pulling the text type field "Statement". DECLARE @Statement varbinary(16)SELECT @Statement = TEXTPTR(Statement)FROM table1 READTEXT table1.statement @Statement 0 16566 So far so good, the issue is how to convert @Statment varbinary to nText to get it passed in sp_executesql. Note:- i can't use Exec to run the dynamic sql becuase i need to pass the params from the .net app and Exec proc doesn't take param from the stored proc from where it is called. I would appreciate if any body respond to this.
Hi, We are in process of converting all of the data type of the fields from CHAR/VARCHAR/TEXT into NCHAR/NVARCHAR/NTEXT (DBCS). Having more than 900 store procedure its look like real pain to make modification in all of the SPs.
After failed to find any help from GOOGLE, I am posting this request. I am basically looking for any automated tool which are convert data type in SP based on the field of the table used in the SP. Or at least which can provide me some sort of list which can helpful for doing manual reactoring.