I have been looking over the forums looking for answers to the question that nails us all: how do you dynamically resize column widths? MS says: you don't. However, I have heard many people say they have found ways around it. I wonder if anyone might share those with me (and everyone else). Share the wisdom you have gained with those less experienced!
I'm trying to read in a flat file (which, admittedly, has one very wide column), and it keeps breaking because of truncation when it tries to read in the file.
I am trying to create a program that transfers tables to flat files. At this point in time, I have suceeded in created one that creates delimited files.
However, I am now trying to create fixed-width files as you can do with the SSIS designer, but programatically.
Is there a way to programatically determine the width of a column from the source table? I can not seem to find any kind of function or member that stores this information or allows me to retrieve it.
I know what I need to change in order to set a width for a column, but I just don't know how to find the width without just asking the user to provide one.
Hi Every1, I'm getting this error. 'Cannot specify a column width on data type smalldatetime.' I'm using SQL Server & I've check the data type in the db & it's same as smalldatetime. Any suggestions would be highly appreciated. Thanks
<Error>
Column or parameter #8: Cannot specify a column width on data type smalldatetime. 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: Column or parameter #8: Cannot specify a column width on data type smalldatetime.
Source Error:
Line 344: Try Line 345: myConnection.Open() Line 346: dgdSearch.DataSource = myCommand.ExecuteReader() Line 347: dgdSearch.DataBind() Line 348: Finally
When i create a temp table with a field as blank string as in following example and then try to insert a blank string int it following error is coing. compatibility level of database is 70
following is the example
Select CtpId = convert(int, a.CtpId), a.OrgId, a.Sname, a.Intls, a.Prfx, a.CallName, a.Sex, a.RspblEmp, City = convert(char(40), ''), OrgDescr = convert(char(46), ''), a.ActvtyStatus, a.Sales, a.SaleCntct, a.ContractCntct, a.ContractSigner, a.CRW, a.WkndCntct, a.UseOrgAddr, CtpTimeStamp = convert(int, a.TimeStamp), FrequentFlyer = convert(bit,0) , a.PrevCmpl, b.St, a.DtIns into #Ctp from tbCtp a, tbAddr b where 0 = 1
Select a.CtpId, a.OrgId, a.Sname, a.Intls, a.Prfx, a.CallName, a.Sex, a.RspblEmp, City = '', OrgDescr = '', a.ActvtyStatus, a.Sales, a.SaleCntct, a.ContractCntct, a.ContractSigner, a.CRW, a.WkndCntct, a.UseOrgAddr, CtpTimeStamp = convert(int, a.TimeStamp),FrequentFlyer = 0, a.PrevCmpl, St = "", a.DtIns into #CTP from tbctp a where a.Sname like 'as%' and CallName = '%'
ERROR MESSAGE:: Server: Msg 2731, Level 16, State 1, Line 1 "The width of column 'City' is 0. This width is not valid."
I know we could change the data type or width of a table column in SQl 7 database, but I am not certain if this column is a primary key. Can we change a primary key column width? If we can, how about this column as a foreign key in another table? Will it be automatically updated to the same width? Thanks in advance for your input.
I use bcp command to output to excel, it works. But I want to format the excel, some column width are too small,user need adjust the column width, otherwise it shows ######.
How can I set columns width when I use bcp output to excel.
Also, can bcp command output to multiple excel sheets and add report title in each excel sheet?
We are generating RDL file on the fly using a XSLT. We are trying to implement an auto width to all the columns dislpayed in the Report. Is Automatic horizontal width for column supported in RDL? If so how? If not is there is any workaround for it?
We tried using CanGrow and CanShrink tags, but those are for only vertical.
I have a subreport on my main report, and the subreport contains a matrix. When I run the report, the subreport seems to expand beyond the width of the main report. The matrix itself does not expand beyond the width of the body of the main report, but for some reason it seems that the subreport does. The subreport does not contain any headers that might be messing up the width. If I cut and paste the matrix from the subreport directly onto the main report, and remove the subreport, it prints fine. But as soon as I include the subreport on the main report it prints with blank pages because the subreport expands beyond the width of the body of the main report. I have checked the width and margins on the subreport and compared to the width of the main report and all looks good. Can anyone help?
Hi All, Is there a way by which we can modify the width of a column of a table which is being replicated without touching the ongoing transactional replication? This is for MSSQL2000 Transactional Replication.
I know (and successfully tried) that we can add a column to a table and that gets propaged to the replicate database and indeed the added column gets reflected there. How to add a column? sp_repaddcolumn or Right Click on the Publication-Properties and it shows a button to Add a Column.
This is what I have tried for modifying the width of a column of a table participating in Transactional Replication from varchar(10) to varchar(100)
MH (source) -> MH1 (Replicate)
The column “col1” had width of varchar(10) and this was altered to varchar(100).
I am trying to eliminate the extra space in columns that have been returned from a DB query...the tables have character lengths of 40, I would like to return just the necessary characters.
I have a report that has a certain number of columns that are hidden and when hidden they leave a lot of white space. Is there a way to detect when they are hidden and set the width property to 0 and then reverse the value when they are visible?
I would like to create a function that will return to me the width of the column of the table without giving as a parameter the table name. I need it, as I want to exceed my data in this column to the column length. I want to fill the column data with trailing blanks until I reach the column width. The function len returns the length of the data in the column.
I know that If I have the table name I can find the column width through the system tables. I don€™t want this.
I am facing issue with the auto fit width. When i am creating a report which includes table. The table column length should get adjusted to the text size displayed in it instead of displaying the text in 2 lines. But i dont find any way to set that option. Could anyone let me know how to set the column length as per the text displayed in the column in table.
Will the width property of a column be able to be set at run-time (i.e. ability to set the width of a column to an expression) in SQL Reporting Services 2008? One problem I have seen is the inability to set the width of columns in a report when you you have several columns whose order is determined based on parameters.  Lets say I have 2 columns in a report and two fields from the database which will populate those columns: 1 field that is varchar(5) and one which is varchar(50). If I do not know which column each field will go to until runtime how am I supposed to adjust the column width? Letting the column width be set by an expression would solve everything as I could pass the width in to the report. As it stands now, I would have to set each column's width to accomodate a field of type varchar(50) in order to avoid wrapping of data.  You could say just create 2 reports, one for each case, but what if I had 15 fields? 20?how to dynamically set the width of a column? Will the width of a column be able to be set at run-time in SQL Server Reporting Services 2008 via expression or some other means?
I've a report projects where each report has a number of columns and the spec is to have all the columns print-out on the same page. Is there a setting that will auto-scale these columns to fit to the page or will I have to edit the font size and widths manually on each report to fit to the page?
Hi All, Is there a way by which we can modify the width of a column of a table which is being replicated without touching the ongoing transactional replication? This is for MSSQL2000 Transactional Replication.
I know (and successfully tried) that we can add a column to a table and that gets propaged to the replicate database and indeed the added column gets reflected there. How to add a column? sp_repaddcolumn or Right Click on the Publication-Properties and it shows a button to Add a Column.
This is what I have tried for modifying the width of a column of a table participating in Transactional Replication from varchar(10) to varchar(100)
MH (source) -> MH1 (Replicate)
The column €ścol1€? had width of varchar(10) and this was altered to varchar(100).
This one has set me back many, many hours on this project; it's about got me ready to dump SSIS & just roll a custom .NET solution in C#.
I need to create import packages for quite a few very wide flat files (130 - 180+ columns, not my design). Many of these columns have data > 50 characters long.
I change column widths on the data flow source using the Advanced Editor, via Input and Output Properties ==> Flat File Source Output ==> External Columns.
About 50% of the time, the changes vanish after clicking OK to dismiss the Advanced Editor. There is no warning message or output announcing that the editor failed to persist its changes, or that it set some columns' properties back to the defaults, or why. The column's widths just silently revert back to 50.
If the cause and resolution aren't known, does anyone know of a way to accomplish any of the following workarounds?
Create a data source connection by importing an external text schema defining the flat file's column names, data types and sizes, or Change a property on multiple source columns en-masse, or...
Get at a text version of the file containing the Data Flow Component's definition, so we can edit wide import schemas without racking up thousands of mouse-clicks?Thanks! A virtual cheeseburger to anyone with answers.
How do i import a Varying Column Width Flat file into a Table using SSIS?
I have a flat file that has 4 columns with varying width Like I should read the file as Col 1 - (1 to 10 Characters) Col 2 - (12 to 21 Characters) Col 3 - (22 to 35 Characters) Col 4 - (36 to 38 Characters) At the end of the record is a "LF"
I think "Fixed Width" Columns allow me to define a standard column length for all the columns.. Right?
I have 2 higher level column groupings of month name and year above my actual date groups. It looks a little weird aligning them left but there is no guarantee that centering them will even allow them to show until I've scrolled right to the middle of the cell width that they occupy.
Is there a feature that comes with, or a well known trick for making them center in the area that is being viewed instead of the potentially very wide cell that they occupy?
All our SQL 7 and 2000 servers here run SQLMail for alerting and notifications (via jobs and DTS packages) and we are increasingly having the issue where MAPI32 goes to 100% CPU utilisation and the server needs rebooting.
We are getting the response from Microsoft that "this happens" - hmmm
Anyone else having this problem come up with a solution or workaround at all?
I have copied a long dataflow from one package to another (I wish I could reuse it without copying & pasting it, and thereupon being required to maintain two copies).
I had to create an invoice report, where there is a stub on the buttom of the last page.
I need a report footer and RS does not have it.
I talked to Microsoft about it, here is the full emails between me and Microsoft.
hope this helps
Read from buttom to top
-------------------------------- Hi Ronnie Sorry I was late in getting back to you as I was out of the office in the last couple of days I made some checks and it seems the problem that you have is a genuine one. The workarounds that you specified are the only solutions available now.
I checked with the development team and even though they are aware of the problem, they told me that there won€™t be changes to fix it in SQL 2008 So you have to decide on one of the workarounds that you specified
Best Regards,
Hi Tamer, I wonder if you had any updates on our issue with RS2005.
Thanks,
Thanks for your help on this issue, I am going to more research on your solution (moving the footer to the body). Meanwhile, I be looking forward for your sample as well.
Thanks again for all your efforts.
Ronnie Peretz
Hi neil I think there is a way to implement your need in Reporting Services Reporting Services has a free form designer which means that whatever you put on the report will appear in the same order in the final view. This is why we don€™t have a report footer.
Instead of putting the stub in the footer, just put it after the last item. You can use a list dataregion to make sure that the stub will always appear at the bottom of the page in the expected location
Ronnie, I hope that solves your problem Contact me directly if you need more info on how to implement this
Best Regards, Tamer Farag
Here are all the facts I learned about Reporting Services "Report Footer" limitations and workaround I have tried.
Objective: On the last page of an invoice at the bottom of the last page have a stub of the invoice:
Issue: Reporting Services does not support Report Footer only Page Footer. (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1439673&SiteID=1)
Work around that I have tried:
Work around 1:
I have created a page footer with a rectangle and set the Visibility expression to =Globals.PageNumber < Globals.TotalPages
Results: The page footer did show up only in the last page, but created a block of space in the first pages.
I was trying to see if there is a way to suppress the spaces from the first pages, and found out it's not supported in Reporting Services
This behavior where the report body would consume the space of the empty page header & footer is currently not supported.
-- Robert (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=340650&SiteID=1)
Work around 2:
I tried to fit all the footer objects in the rectangle in a very small height range, hoping it will auto grow at run time. That did not work as well.
The textboxes did auto grow, but the Rectangle object or the Page Footer itself does not auto grow, cause to cut the footer information.
Work around 3:
Set the property on the page footer PrintOnFirstPage to False, and PrintOnLastPage = True, Reporting services does print the footer in pages in between.
works great for reports that have only 2 pages, but not not more then 2 pages
Best workaround:
Instead of having a space block at the bottom of each page, have a marketing text on every page except the last page
I had overlap a textbox on top of the rectangle (in the page footer) and having this expression on the Visibility =Globals.PageNumber = Globals.TotalPages.
For most of the invoices which are one page, that text will not show up and the Invoice stub will show up
For Invoices which are two pages or more, the marketing text will show up in the first pages only and in the last page the Invoice stub will show.
note: this workaround cause a warning saying "Overlapping report items are not supported in all renderers."
Having a difficult time setting up a development environment and a set of standards for SSIS package development.
First of all, you can't run the dataflow object "SQL Server Destination" in BIDS because BULKCOPY can only be run from the actual server. So how do you test/debug a package with this object in it?
Second of all, if you create an SSIS package on a developer computer in BIDS, and then import it into the SSIS package store on your development SQL server, you can't run the package from Management Studio on the developer PC. You get the error "DTS_E_PRODUCTLEVELTOLOW" when it tries to run any of the SSIS. Do I have to have SSIS installed on the developer client machine? How do I do that without installing a full server instance on each client machine (not to mention the licsense issues)?
Lastly, what protection level would you suggest using for production? We are having issues with ODBC connection passwords being decrypted and thus package steps failing in using "EncryptSensitiveWithUserKey". What exactly does this protection level do? Our network is physically very locked down, so we arent worried about SSIS package security too much, just looking for a way for them to work reliably without having to setup complicated security scenarios.
1) if our .net app (oltp) is changed to ask sql for encryption (rather than thru .net) on server A, can server B where our wh resides, thru a linked server run an sp remotely on A and get A to provide decryption thru the keys defined there? 2)can the encryption keys etc defined on one server be imported to another server and still behave exactly the same way on the 2nd server as they do on the first? ie decrypt data originally encrypted by the first successfully.
There is a table t1 with two fields, such as, ID NAME 1 Tokyo 2 Xian 3 America
For there are full-width and half-width strings in the values of the two fields, I can not select and get the right records. So I want to transform the two fields ID and NAME, I fail to find the function in the SQL Server 2005. Please give me some advice.
I've seen a couple of posts in this forum on this subject. If anyone knows of a workaround it would be great to hear.
The problem is this. I'm writing a component that looks a bit like an OLE DB destination: it writes to something that looks like a table. During design time I want the component to update the list of available destination columns if they change - so I want Validate to return VS_NEEDSNEWMETADATA if it detects a change. However during runtime I only want to validate that the component will run ok. So I still want to check what the destination looks like but if, say, someone has just added a column then my determination is it is ok to procede with the execution.
ValidateExternalMetadata doesn't help in this case because I still want to validate against the destination. I just don't want to raise VS_NEEDSNEWMETADATA during runtime because it aborts execution and I can determine that although there is a change to the destination it is not one that will cause the component to fail.
Any thoughts and experience on this would be great to hear!
Can someone verify that an assembly containing an interface with an event definition, such as...
public interface A { event EventHandler Foo; }
... can never be loaded under SAFE or EXTERNAL_ACCESS ?
It appears that the compiler-generated add_xxx and remove_xxx have the MethodImpl(MethodImplOptions.Synchronized) attribute defined by default, and "Explicit synchronization is not allowed". The same limitation also applies to classes by default, although technically one is able to define the implementation directly (clearly not ideal).
I am transferring data from an OLEDB source to a Flat File Destination and I want the column width for all of the output columns to 30 (max width amongst the columns selected), but that is not refected in the Fixed Width Flat File that got created. The outputcolumnwidth seems to be the same as the inputcolumnwidth. Is there any other setting that I am possibly missing or is this a possible defect?
How can I change the width of my comboboxes etc in SQL Enterprise Manager ?
I can't see which table I'm supposed to be updating and it's causing me huge problems. (basically my fields are called things like Staging_EmployeeDetails etc)
I'm on a 17" monitor with a resolution of 1280 x 1024 so this shouldn't be an issue, and all screens are maximized.
I've tried dragging the corners of the window, but it doesn't seem to let me.
As an example, I'm in the export wizard and I can't tell which rowto use when I query the data (See screenshot)