顯示具有 MSSQL 標籤的文章。 顯示所有文章
顯示具有 MSSQL 標籤的文章。 顯示所有文章

2020年5月26日

MSSQL 如何知道 geometry 是什麼坐標系統?


STSrid



參考資料:


如何使用 MSSQL 取得 geometry Point 是否位於 Polygon 內?

使用 STContains 而不是 STWithin 

範例如下:

SELECT [ogr_fid]
      ,[geometry]
      ,[countyid]
      ,[countyname]
      ,[COUNTY_CODE] 
  FROM [WraLandMap].[dbo].[map_county] 
  where geometry::STGeomFromText([geometry].STAsText( ), 4326).MakeValid().STContains(geometry::STGeomFromText('POINT(277466 2681304)', 4326))  = 1





2020年1月3日

MSSQL 異地備份

127.0.0.1 : IP
DataTransfer :  要備份的資料庫名稱

DECLARE @FilePath VARCHAR(200)
SET @FilePath = N'\\127.0.0.1\Database_Backup\DB_' + (CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))+'.bak'
BACKUP DATABASE DataTransfer 
TO  DISK = @FilePath WITH NOFORMAT, NOINIT, 
NAME = N'Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

MSSQL 自動備份語法! 非使用「維護計畫」


DataTransfer  :  資料庫名稱
Database_Backup  :  需自行建立資料夾  

可以寫在排程上。

以下語法:

GO
DECLARE
@backupTime VARCHAR(20)
DECLARE
@fileName VARCHAR(1000)
SELECT
@backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))
SELECT
@fileName='C:\Database_Backup\DB_'+@backupTime+'.bak'
backup database DataTransfer to disk=@fileName

GO


2019年10月2日

MSSQL 當 IDENTITY_INSERT 設為 OFF 時,無法將外顯值插入資料表 'XXX' 的識別欄位中。

當 IDENTITY_INSERT 設為 OFF 時,無法將外顯值插入資料表 'XXX(TABLE_NAME )' 的識別欄位中。
 
-- 寫入前
SET IDENTITY_INSERT TABLE_NAME ON;

-- 寫入後
SET IDENTITY_INSERT TABLE_NAME OFF;

2019年9月20日

MySQL、MSSQL 連線方式及如何使用DataTable取得資料 for C#


    using MySql.Data.MySqlClient;
    using System.Data;


    DataTable dt = new DataTable();
    MySqlConnection conn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MISConnection"].ConnectionString);
    conn.Open();

          using (MySqlCommand cmd = new MySqlCommand())
          {
               string CmdText = @"select * from basic where PK=@PK";

               cmd.Parameters.AddWithValue("@PK", PK);
               cmd.Connection = conn;
               cmd.CommandText = CmdText;
               
               MySqlDataReader myData = cmd.ExecuteReader();

               if (myData.HasRows)
               {
                    dt.Load(myData);
               }
          }

    conn.Close();

      
      using System.Data;
      using System.Data.SqlClient;

      SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DBConnStr"].ConnectionString);
      cn.Open();
      String PK = "1";
      DataTable dt = new DataTable();
 
      string _sql = @"select * from basic where PK=@PK";
      using (SqlCommand cmd = new SqlCommand(_sql, cn))
      {
           cmd.Parameters.Clear();
           cmd.Parameters.AddWithValue("@PK", PK);
           //cmd.ExecuteNonQuery();
           using (SqlDataAdapter da = new SqlDataAdapter(cmd))
           {
               dt.BeginLoadData();
               da.Fill(dt);
           }

      }
        
        cn.Close();